关于javascript:AJAX默默地失败

AJAX failing silently

我的一个AJAX请求有问题。所有这一切都在早些时候工作,然后我在文件夹中移动了一些文件,它一定已经破坏了一些东西,但我一直无法弄清楚我的路径可能有什么问题。

怎么了

AJAX请求似乎被忽略了,没有任何东西进入控制台或网络选项卡,responseText是",我在PHP的第一行放置了一个从未被命中的断点。它直接从$.ajax到第一行在我的错误回调。另外,当直接到页面或cron调用此PHP代码时,它工作正常。

我之后有一个非常类似的调用,在同一文件夹中的另一个文件正常工作。

我试过了什么

如前所述,我查看了PHP中的responseText,控制台输出,网络选项卡和断点(从未到过),我查看了Google和stackoverflow。如果我故意将名称更改为不存在的文件,我会立即在控制台中收到错误。

代码如下

1
2
3
4
5
6
7
8
9
10
11
12
        $.ajax({
        type:"POST",
        url:"PHP/myFile.php",
        data: '',
        success: function () {
            //Success code
        },
        error: function (xhr) {
            var response = xhr.responseText; // response is""
            //Error code
        }
    });

有任何想法吗?

这是代码,稍后在文件中,它(成功)从同一文件夹中的文件中获取代码。

1
2
3
4
5
6
7
8
9
10
11
12
$.ajax({
        type:"GET",
        cache: false,
        url:"PHP/myOtherFile.php",
        dataType: 'json',
        success: function (data) {
            // Success code
        },
        error: function () {
            // Error Code
        }
    });

非常基本的AJAX调用,不确定发生了什么:/


Error callback is called on http errors, but also if JSON parsing on
the response fails

来自:Jquery ajax错误回调

从您的工作文件中,代码dataType: 'json'我盲目地假设您正在进行某种json解析。
尝试将"myFile.php"设置为一个简单的echo 'x';脚本,并检查响应文本。 如果你得到的东西,那么它是因为你的脚本包含JSON解析代码,但你还是没有将任何数据传递给脚本。

因此,将调用错误回调,因为脚本正在尝试JSON解析任何内容(即data: '')

我不能通过阅读你的问题描述提出任何建议,希望其他人能够明白这一点。 祝好运