我有一個簡單的ajax請求。 它調用一個PHP頁面並連接到一個MySQL數據庫。如果SQL連接失敗,則不會觸發ajax錯誤
即使連接失敗(因爲我關掉MySQL服務),我的Ajax調用的成功部分被觸發...
$.ajax(
{
type: "POST",
url: "ajax.php",
timeout: 10000,
data: (
{
"type": "approveAndEmail",
"id": id
}),
error: function(){
alert('error');
},
success: function(response)
{
alert('yes');
}
});
任何想法?
我的PHP看起來是這樣的(是的,我會從的mysql_connect被更新!
mysql_connect("$host", "$username", "$password")or die("cannot connect");
mysql_select_db("$db_name")or die("cannot select DB");
如果服務器返回200頭,則成功部分被觸發。所以它只是告訴你在到達腳本時沒有發生錯誤,腳本沒有響應任何類似錯誤的頭(4 **,5 **)。所以你應該確保腳本在連接失敗時發送類似的錯誤。 – Jeff
... cnt:連接後檢查mysqli_error,或者繼續或發送錯誤(一個http標頭500 fe)回客戶端(最好帶有錯誤信息,您可以在'error:function(error){}中讀取' – Jeff
標記爲重複是有幫助的,但更重要的是,如果通知鏈接到這個問題的答案。我的搜索沒有找到它。這裏的帖子已經幫助很大,現在正在工作。 – Jack