Jquery Ajax调用的PHP端

时间:2018-09-26 14:52:27

标签: php jquery ajax

我发现很多带有成功,错误和完成选项的jquery ajax调用示例。

但是尚未找到一种解释,说明应该在目标php源代码中放置什么以告诉回调发生了错误。

我知道,如果我将ajax调用设置为期望返回json,并且没有目标返回json字符串,那么我会得到error:选项定义的行为。还有另一种触发错误选项的方法吗?

我还想获得有关参考/文档/教程的建议,以用于响应ajax代码的php代码应该是什么。

3 个答案:

答案 0 :(得分:0)

如果PHP页面正常,默认情况下HTTP响应代码为200。

jQuery成功的HTTP响应代码为:

isSuccess = status >= 200 && status < 300 || status === 304;

(作为jQuery源代码行9247 https://code.jquery.com/jquery-3.3.1.js

PHP端,如果您想告诉jQuery附加错误,则可以使用函数标头:

header($_SERVER["SERVER_PROTOCOL"]." 400 Bad Request"); header($_SERVER["SERVER_PROTOCOL"]." 403 Forbidden"); ...

有关HTTP状态代码的更多信息,您可以在此处列出: https://en.wikipedia.org/wiki/List_of_HTTP_status_codes

答案 1 :(得分:-1)

查看以下文章,看看它们是否可以澄清您的担忧

Ajax错误降至jQuery.ajax()

错误

  

类型:函数(jqXHR jqXHR,字符串textStatus,字符串errorThrown)A   如果请求失败,则调用该函数。功能接收   三个参数:jqXHR对象(在jQuery 1.4.x中,XMLHttpRequest),一个   描述发生的错误类型的字符串和可选的   异常对象(如果发生)。第二个可能的值   参数(除null外)是“超时”,“错误”,“中止”和   “ parsererror”。发生HTTP错误时,errorThrown会收到   HTTP状态的文本部分,例如“未找到”或“内部   服务器错误。”从jQuery 1.5开始,错误设置可以接受一个数组   功能。每个函数将依次调用。注意:此处理程序   跨域脚本和跨域JSONP请求未调用。   这是一个Ajax事件。

还有来自社区的另一篇文章: https://stackoverflow.com/a/6265911/2289769

PHP响应标头和数据类型应与Ajax请求中的相同。请求json时,PHP还应该返回json,否则ajax将无法触发错误。

您可以查看的一些教程:AJAX Request Handler with PHP

答案 2 :(得分:-1)

Php引发类似以下错误:致命错误意外T字符串... 然后在回调中使用js搜索功能,并检查单词error是否存在。 最好的方法是处理来自PHP的所有错误 然后回显表示发生此错误的您自己的自定义文本,因此请检查回调中的文本。 您可以在if else块或try catch块中使用一个函数,如果不知道,可以使用php的google try catch教程。