我有以下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错误函数回调?如果没有,我将如何触发呢?
答案 0 :(得分:9)
试试这个:
if (!($result = mysql_query($query, $link))) {
header("HTTP/1.1 404 Not Found");
}
答案 1 :(得分:0)
您无法从服务器发出客户端代码信号(至少不是您期望的那样)。
使用AJAX时,最好使用正确的HTTP响应代码,让jQuery对错误中的那些进行操作:回调。
答案 2 :(得分:0)
由于没有ajax错误,您无法访问ajax错误。您可以做的是检查成功部分中的xml
变量;如果它以Invalid SQL query
开头,你知道有一个php错误。
为了整理,您可能希望在出现错误而不仅仅是字符串时返回更多信息(xml / json)。