我在我的網站上使用大型表單並使用serialize()來處理表單。jquery ajax json does not return true
我的問題是:
結果總是返回false表格完成後!我檢查使用螢火蟲。如果爲false,則顯示結果。它實際上是data.ok == true已被調用,但它沒有在頁面中顯示消息?它沒有將頁面重定向到目標地址?
jQuery的AJAX:
$("#details").live("submit", function(e){
var form = $(this).serialize();
var data_string = form;
$.ajax({
type: "post",
url: "../_include/ajax.php?details",
cache: false,
data: data_string,
dataType: "json",
success: function(data) {
if(data.ok) {
("#pop").html(data.message).addClass("oke").fadeIn("slow");
setInterval(function() {
location.href = data.redirect
},2000)
} else {
$("#pop").html(data.message).addClass("warning").fadeIn("slow");
}
}
});
e.preventDefault();
})
在PHP中:
if (isset($_GET['details'])) {
if (empty($name)) {
$data['ok'] = false;
$data['message'] = 'Please enter name!';
} ................ {
.............
} else {
$db->query("UPDATE query....");
$data['ok'] = true;
$data['message'] = 'Your details has been submitted!';
$data['redirect'] = 'index.php?p=details';
}
echo json_encode($data);
}
你試過data.ok ==真正? – Colum