$.ajax({
type: "POST",
url: "/find",
data: {coupon_name:value},
success: function(response) {
alert("success")
},
error: function(xhr, ajaxOptions, thrownError) {
alert(thrownError);
}
});
我在PHP页面中“回显”什么来抛出错误?基本上我使用ajax函数来计算返回的数字,如果< 1它需要将错误返回给JS。
答案 0 :(得分:0)
jQuery specification将.error()
定义为:
请求失败时要调用的函数。
失败的HTTP代码是400s或500s中的一个,所以CakePHP相当于:
<?php
http_response_code(500);
?>
应该触发它。
那就是说,我不确定抛出错误在你的情况下是否正确 - 你的查询实际上没有错误,它只是返回零结果。因此,无论如何,您最好在.success()
函数中处理此问题。
答案 1 :(得分:0)
我建议你为真正的HTTP相关紧急情况留下错误,并在你的回复中处理你的代码逻辑。最简单的方法是将响应转换为JSON,如果遇到错误,则在JSON中返回error
组件,并手动检查其存在。
也就是说,您可以使用$this->controller->response->statusCode(400)
(在CakePHP中)或类似的方式发送将触发错误子句的状态代码。但我建议不要这样做。