我从另一个工作中复制了这个ajax调用,我无法弄清楚为什么它不成功。这是代码:
$.ajax({
type: "POST",
url: "addTune.php",
data: {
database: setlist,
name: tune,
orderno: orderno,
midi: midi
},
error: function (e) {
alert("The PHP Call failed! hmmm");
alert(e.status);
},
success: function (response) {
alert(response);
}
});
我每次都会得到错误功能。是否有任何明显的拼写错误或其他愚蠢的错误?
编辑:尝试使用以下方法追踪错误:
$.ajax({
type: "POST",
url: 'addTune.php',
data: {database : setlist, name : tune, orderno : orderno, midi : midi},
error: function(e){
alert("The PHP Call failed! hmmm");
alert(e.status);
$.ajaxSetup({
"error": function(jqXHR, status, thrownError) {
alert('error');
var responseText = jQuery.parseJSON(jqXHR.responseText);
console.log(responseText);
}
});
},
success: function(response){
alert(response);
}
});
});
更新:我只能在命令行中添加一行。有什么想法,我可以做些什么来尝试进一步缩小这个范围?
答案 0 :(得分:0)
我不是专业人士,但可能使用单引号而不是双引号?因为我正在做一个项目,我也必须做ajax调用,我使用单引号
我只是建议一些事情,而不是真的很擅长这个
答案 1 :(得分:0)
如果您进入错误回调,那么您正在调用的页面出错,而不是使用js代码。检查是否到达了php页面。如果检查php代码是否返回有效结果。
来自jquery DOCS。
错误
类型:函数(jqXHR jqXHR,String textStatus,String errorThrown)A 如果请求失败,则调用该函数。该功能收到 三个参数:jqXHR(在jQuery 1.4.x,XMLHttpRequest中)对象,a 描述发生的错误类型的字符串和可选项 异常对象,如果发生了一个。第二个可能的值 参数(除了null)是“超时”,“错误”,“中止”和 “parsererror”。发生HTTP错误时,errorThrown会收到 HTTP状态的文本部分,例如“未找到”或“内部” 服务器错误。“从jQuery 1.5开始,错误设置可以接受一个数组 功能。每个函数将依次调用。注意:这个处理程序 没有调用跨域脚本和JSONP请求。这是个 Ajax事件。