Javascript Can';在JS文件中找不到未捕获类型错误

Javascript Can';在JS文件中找不到未捕获类型错误,javascript,php,jquery,typeerror,Javascript,Php,Jquery,Typeerror,我试图将表单数据放入对象中,并将其发送到php页面,以检查用户是否存在。但控制台中显示了非法调用错误,这意味着JS文件中存在未捕获类型错误。但我就是找不到。以下是JS文件: function-postViaJAX(文件名,specificFunction,data=null){ $.ajax({ url:“models/”+fileName+“.php”, 方法:“张贴”, 数据:数据, 数据类型:“json”, 成功:函数(jsonData){ 特定功能(jsonData); }, 错误:函

我试图将表单数据放入对象中,并将其发送到php页面,以检查用户是否存在。但控制台中显示了非法调用错误,这意味着JS文件中存在未捕获类型错误。但我就是找不到。以下是JS文件:

function-postViaJAX(文件名,specificFunction,data=null){
$.ajax({
url:“models/”+fileName+“.php”,
方法:“张贴”,
数据:数据,
数据类型:“json”,
成功:函数(jsonData){
特定功能(jsonData);
},
错误:函数(xhr){
控制台错误(xhr);
}
});
}
$(“#登录”)。单击(函数(){
让username=$(“#username”).val();
让password=$(“#password”).val();
let data=new FormData();
数据。附加(“用户名”,用户名);
数据。追加(“密码”,密码);
Postviajax(“signingIn”,signingIn,data);
});
函数签名(jsonData){
if(jsonData.message==“用户拥有初始密码!”){
警报(“成功登录!”);
让newPassword=prompt(“现在您必须更改初始密码。请在下面的字段中输入新密码:”);
let data=new FormData();
data.append(“newPassword”,newPassword);
PostViaJAX(“更改密码”,更改密码,数据);
}否则{
警报(jsonData.message);
}
}
函数更改密码(jsonData){
警报(jsonData.message);

}
我刚刚找到了解决方案!如果要通过Ajax调用发送FormData,则Ajax调用必须具有contentType:false和processData:false。

您忘了在代码中包含Jquery脚本

function-postViaJAX(文件名,specificFunction,data=null){
$.ajax({
url:“models/”+fileName+“.php”,
方法:“张贴”,
数据:数据,
数据类型:“json”,
成功:函数(jsonData){
特定功能(jsonData);
},
错误:函数(xhr){
控制台错误(xhr);
}
});
}
$(“#登录”)。单击(函数(){
让username=$(“#username”).val();
让password=$(“#password”).val();
let data=new FormData();
数据。附加(“用户名”,用户名);
数据。追加(“密码”,密码);
Postviajax(“signingIn”,signingIn,data);
});
函数签名(jsonData){
if(jsonData.message==“用户拥有初始密码!”){
警报(“成功登录!”);
让newPassword=prompt(“现在您必须更改初始密码。请在下面的字段中输入新密码:”);
let data=new FormData();
data.append(“newPassword”,newPassword);
PostViaJAX(“更改密码”,更改密码,数据);
}否则{
警报(jsonData.message);
}
}
函数更改密码(jsonData){
警报(jsonData.message);
}

当此JS在浏览器中执行时,如果出现错误,它将与行号一起显示在devtools中。我建议从这里开始。您显示的代码中唯一的错误是由于结尾处的附加
}
导致的语法错误,应该删除它。我制作了一个代码片段。它立即指出Rory Additional}错误来自if选择,该选择使此代码仅在登录页面上工作。这不是问题。我从这里显示的代码中删除了它。不,我删除了。我把解决问题的方法贴在上面。