通过cakephp返回javascript错误

时间:2013-09-10 22:58:56

标签: javascript jquery cakephp cakephp-2.0

$.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。

2 个答案:

答案 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中)或类似的方式发送将触发错误子句的状态代码。但我建议不要这样做。