我爲我的網站使用PHP,Javascript,AJAX。爲什麼控件沒有從PHP文件返回到AJAX成功函數?
我在下面只提供了必要的代碼。
JS代碼(AJAX功能代碼):
$("#btn_add_event").click(function(){
var strSeriaze = $("#formAddEvent").serialize();
url = $("#formAddEvent").attr('action');
$("#btn_add_event").attr('disabled', 'disabled');
$("#addEventErrorMsg").html('');
$.ajax({
url: url,
type: "POST",
data: {postData:strSeriaze},
beforeSend: function(){
$('#loader-icon').show();
},
complete: function(){
$('#loader-icon').hide();
},
success: function(data){
//Control is not returning here on success from PHP file
$('#loader-icon').hide();
if(data == "Success")
{
$("#myModal-add-event").modal('hide');
$("#myModal-add-event").hide();
window.location.href = site_url + "event_index.php";
return false;
}
else
{
$("#btn_add_event").attr('disabled', false);
$("#addEventErrorMsg").show();
$("#addEventErrorMsg").html(data);
}
},
error: function(){}
});
})
我試着調試通話是完全將PHP文件中的問題,書面那邊也在努力,但控制不被退回到邏輯js文件(即AJAX成功函數)。反過來,我無法執行成功函數內寫入的代碼。
請糾正我在我的代碼做了錯誤。
以下是執行後,預計返回控制js文件(即。AJAX成功funtion)所需的PHP代碼,但它沒有發生。
if($ret) {
$eventAddResultArr = $objEvent->GetResponse();
if($eventAddResultArr['msg'] == 'Success') {
echo "Success";
exit;
//From here it is expected to return the control to js file's AJAX success function but it's stopping execution here only
} else {
$errMsg = "";
foreach($eventAddResultArr['msg'] as $key => $err_msg) {
$errMsg .= $err_msg."<br>";
}
echo $errMsg;
exit;
}
}
注:我已經把意見在我的代碼來讓你明白我的問題更好。如果您需要關於我面臨的問題的更多信息,請讓我知道。
謝謝。
嘗試添加一些代碼到/調試你的呃ror'處理程序 - 可能是響應未成功返回。 –
你確定,$ ret值是真的嗎?! –
@YazidErman:是的,這是真的。 「成功」一詞也會打印到控制檯中。 – user2839497