我遇到了一个AJAX请求问题。所有这一切都在早些时候工作,然后我在文件夹中移动了一些文件,它一定已经破坏了一些东西,但我一直无法弄清楚我的路径可能有什么问题。
发生了什么
AJAX请求似乎被忽略了,没有任何东西进入控制台或网络选项卡,responseText是“”,我在PHP的第一行放置一个从未命中的断点。它直接从$.ajax
到我的错误回调中的第一行。此外,当通过直接访问页面或cron来调用此PHP代码时,它可以正常工作。
我之后有一个非常类似的调用,在同一文件夹中的另一个文件正常工作。
我尝试了什么
如前所述,我查看了PHP中的responseText,控制台输出,网络选项卡和断点(从未到过),我查看了Google和stackoverflow。如果我故意将名称更改为不存在的文件,我会立即在控制台中收到错误。
以下代码
$.ajax({
type: "POST",
url: "PHP/myFile.php",
data: '',
success: function () {
//Success code
},
error: function (xhr) {
var response = xhr.responseText; // response is ""
//Error code
}
});
有什么想法吗?
以下是文件后面的代码,它(成功)从同一文件夹中的文件中获取代码。
$.ajax({
type: "GET",
cache: false,
url: "PHP/myOtherFile.php",
dataType: 'json',
success: function (data) {
// Success code
},
error: function () {
// Error Code
}
});
非常基本的AJAX调用,不确定发生了什么:/
答案 0 :(得分:1)
在http错误上调用错误回调,但如果在JSON解析时也调用 响应失败
从您的工作文件中,代码dataType: 'json'
我盲目地假设您正在进行某种json解析。
尝试制作" myFile.php"一个简单的echo 'x';
脚本,并检查响应文本。如果你得到的东西,那么它是因为你的脚本包含JSON解析代码,但你还是没有将任何数据传递给脚本。
因此,将调用错误回调,因为脚本正在尝试JSON解析任何内容(即data: ''
)
我无法通过阅读你的问题描述提出任何建议,希望其他人能够明白这一点。古德勒克