【问题标题】:AJAX failing silentlyAJAX 静默失败
【发布时间】:2013-09-11 06:18:42
【问题描述】:

我的一个 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 调用,不知道发生了什么:/

【问题讨论】:

  • 控制台中有什么?
  • 在你的 php 文件中?怎么回事?
  • 传递给错误回调的另外两个参数的值是多少?
  • @PhilNicholas 他甚至没有使用.error
  • 尝试使用错误:function(xhr, textStatus, errorThrown) { ... }

标签: javascript jquery ajax


【解决方案1】:

在 http 错误时调用错误回调,但 如果 JSON 解析开启 响应失败

发件人:Jquery ajax error callback

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

因此,将调用错误回调,因为脚本试图对 JSON 进行任何解析(即data: ''

通过阅读您的问题描述,我无法提出任何其他建议,希望其他人能够解决。祝你好运

【讨论】:

  • 两个文件现在都在工作,但有问题的文件实际上没有任何类型的 json 解析,只是数据库操作。不过,感谢您花时间考虑一下!
猜你喜欢
  • 1970-01-01
  • 2017-01-10
  • 2018-09-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-12-04
  • 2017-10-08
相关资源
最近更新 更多