0
我有一個腳本,我打開一個窗體的jQuery對話框。我通過ajax將表單的值發送給一個php腳本。 php腳本將值保存在mysql數據庫中。jQuery UI對話框給變量返回框
一切工作正常。但是:
在這種情況下,插入mysql會出現問題,我會給用戶一個信息。但不僅「是錯的」。我想舉個例子,回到「已經存在」,「錯誤的參數」等等。
如何從php腳本中將信息返回給jQuery對話框?
我的劇本是這樣的:
function openmodal() {
var $dialogContent = $("#create_mieter"),
mieterID = $("#mieterID"),
snID = $("#snID"),
mietwechsel = $("#datepicker"),
zahlart = $("#zahlart");
$dialogContent.dialog({
height: "auto",
width: 500,
modal: true,
resizable: false,
title: "Neues Mietverhältnis anlegen",
close: function() {},
buttons: {
Sichern : function() {
$.ajax({
type: "POST",
url: "wohnungen_bearbeiten_mieter_sichern.php?act=create",
data: "mieterID=" + mieterID.val() + "&snID=" + snID.val() + "&mietwechsel=" + mietwechsel.val() + "&zahlart=" + zahlart.val(),
success: function(response) {
alert("Show Success");
},
error: function() {
alert("Sorry something went wrong");
}
});
$(this).dialog("close");
},
Abbrechen : function() { $(this).dialog("close"); }
}
}).show();
$("#ui-datepicker-div").css("z-index", "99999");
你需要返回一個re從服務器響應以指示出現錯誤。在'success:function(response)'中格式化一個'json字符串'併發送回服務器。然後你可以做'if(response.error){alert(response.error)} else {$(this).dialog('close')}''。 – Ohgodwhy
您正在處理2種不同類型的錯誤。 AJAX通信錯誤或返回無法解析的數據,或者您可能需要發回消息的服務器端問題,例如無法連接到數據庫。它們不是同一件事。研究AJAX狀態代碼作爲jQuery中錯誤處理程序的開始。如果您的數據庫無法連接,但服務器代碼不會崩潰... ajax成功仍會觸發 – charlietfl