gpt4 book ai didi

javascript - JQuery 函数突然停止工作,错误转换 Javascript 参数

转载 作者:行者123 更新时间:2023-11-30 05:57:31 24 4
gpt4 key购买 nike

大约一年前,我编写了一个 JQuery/Javascript 脚本,它对 PHP 页面进行 ajax 调用以更改用户密码,从那以后它一直运行良好。今天早些时候,我开始收到有关 ajax 调用不再有效的投诉。当我提交密码更改表单时,出现以下错误:

Could not convert JavaScript argument arg 0 [nsIDOMDocumentFragment.appendChild] http://www.site.com/js/jquery-1.4.4.min.js Line 124

即使发生此错误,用户的密码也已更改,并且 PHP 的输出与应有的完全一样......格式正确的 json 字符串:

{"Authenticated":{"0":"false"},"MessageString":{"0":"Your User Password Was Changed Successfully."},"PasswordChanged":{"0":"true"}}

与此项目相关的文件在几个月内都没有更改,并且此表单每天至少使用几次,所以我不确定为什么它突然停止工作。

这是我正在运行的脚本,我正在使用 JQuery 1.4.4 运行它:

function makePasswordRequest() {
email = jQuery("#email").val();
currentPassword = jQuery("#currentPassword").val();
newPassword = jQuery("#newPassword").val();
newPasswordRetype = jQuery("#newPasswordRetype").val();
jQuery.post("../changeUserPassword.php", {
email: email,
currentPassword: currentPassword,
newPassword: newPassword,
newPasswordRetype: newPasswordRetype
},
function(data){
if(data.PasswordChanged[0] == true || data.PasswordChanged[0] == "true"){
jQuery("#notificationArea").removeClass("failure");
jQuery("#notificationArea").addClass("success");
}
else{
jQuery("#notificationArea").removeClass("success");
jQuery("#notificationArea").addClass("failure");
}
jQuery("#notificationArea").html(data.MessageString);
}, "json");
};
function resetPasswordRequest() {
email = jQuery("#email2").val();
jQuery.post("../resetUserPassword.php", {
email: email,
},
function(data){
if(data.PasswordChanged[0] == true || data.PasswordChanged[0] == "true"){
jQuery("#notificationArea2").removeClass("failure");
jQuery("#notificationArea2").addClass("success");
}
else{
jQuery("#notificationArea2").removeClass("success");
jQuery("#notificationArea2").addClass("failure");
}
jQuery("#notificationArea2").html(data.MessageString);
}, "json");
};
jQuery(document).ready(function(){
jQuery("#passwordChangeForm").submit(function(e){
e.preventDefault();
makePasswordRequest();
});
jQuery("#passwordResetForm").submit(function(e){
e.preventDefault();
resetPasswordRequest();
});
});

我无法弄清楚问题出在哪里,特别是因为它在去年一直运行良好。任何帮助将不胜感激!

最佳答案

我不知道这是否会成为一个问题,但是当您设置一个元素的内部 HTML 时:

jQuery("#notificationArea").html(data.MessageString);

data.MessageString 是 {"0":"Your User Password Was Changed Successfully."},所以我想知道这是否是个问题?您不需要 data.MessageString[0] 吗?

关于javascript - JQuery 函数突然停止工作,错误转换 Javascript 参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10920238/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com