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 抛出错误。

4

2 回答 2

0

jQuery 规范定义.error()为:

请求失败时调用的函数。

失败的 HTTP 代码是 400 或 500 中的一个,因此 CakePHP 相当于:

<?php
    http_response_code(500);
?>

应该触发它。

也就是说,我不确定在您的情况下抛出错误是否一定是正确的——您的查询实际上并没有出错,它只是返回了零个结果。.success()所以无论如何你最好在函数中处理这个问题。

于 2013-09-10T23:06:18.453 回答
0

我建议您将错误留给真正与 HTTP 相关的紧急情况,并在响应中处理您的代码逻辑。最简单的方法是将响应转换为 JSON,error如果遇到错误,则在 JSON 中返回一个组件,然后手动检查它是否存在。

也就是说,您可以使用$this->controller->response->statusCode(400)(在 CakePHP 中)或类似方法来发送将触发错误子句的状态代码。但我建议反对。

于 2013-09-10T23:06:44.033 回答