假设我使用jQuery发送以下AJAX请求:
$.ajax({
type: 'POST',
async: true,
url: '<?=$_SERVER['PHP_SELF'] ?>?date=<?=$date ?>',
data: $('#dateform').serialize(),
dataType: 'json',
success: function (data) {
alert('Successful for date ' + data['date']);
},
error: function (data) {
alert('Error for date ' + data['date']);
}
});
如果服务器传回了JSON中的'data'元素,那么一切都很好,可以读取警报。
但是,如果出现阻止返回发送日期的错误,那么AJAX请求如何检测错误函数中发送的日期值?这假设用户在服务器有机会响应之前选择了不同的日期,因此date
中的#dateform
元素将不再代表随请求发送的日期。
答案 0 :(得分:4)
在提交ajax帖子之前将date的值保存到变量中,并在error函数中引用此变量的值。