如何在PHP中使用JQuery AJAX调用触发“错误”回调

时间:2011-07-05 21:08:42

标签: php jquery error-handling

我有以下PHP代码片段:

if (!($result = mysql_query($query, $link))) {
   die("Invalid SQL query: " . $query);
}

我有以下JQuery代码片段:

$.ajax({
        url: "....search.php", 
        data: ...,

        async: false, //to trigger error alert

        success: function(xml) {
            ...
        },

        error: function(xml) {
            foundError = true;
        },

        dataType: "xml"
    });

if(foundError) {
        setProgress("Could not complete the search because an error was found", ProgressBar.ERROR);
}

是否有可能让die调用触发JQuery错误函数回调?如果没有,我将如何触发呢?

3 个答案:

答案 0 :(得分:9)

试试这个:

if (!($result = mysql_query($query, $link))) {
   header("HTTP/1.1 404 Not Found");
}

Choose the error appropriate for your application

答案 1 :(得分:0)

您无法从服务器发出客户端代码信号(至少不是您期望的那样)。

使用AJAX时,最好使用正确的HTTP响应代码,让jQuery对错误中的那些进行操作:回调。

答案 2 :(得分:0)

由于没有ajax错误,您无法访问ajax错误。您可以做的是检查成功部分中的xml变量;如果它以Invalid SQL query开头,你知道有一个php错误。

为了整理,您可能希望在出现错误而不仅仅是字符串时返回更多信息(xml / json)。