Javascript 引用AJAX请求中发送的数据

Javascript 引用AJAX请求中发送的数据,javascript,jquery,ajax,Javascript,Jquery,Ajax,假设我使用jQuery发送以下AJAX请求: $.ajax({ type: 'POST', async: true, url: '<?=$_SERVER['PHP_SELF'] ?>?date=<?=$date ?>', data: $('#dateform').serialize(), dataType: 'json', success: function (data) { alert('Successfu

假设我使用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']);
    }
});
$.ajax({
键入:“POST”,
async:true,
url:“?日期=”,
数据:$('#dateform')。序列化(),
数据类型:“json”,
成功:功能(数据){
警报('日期'+数据['date']成功]);
},
错误:函数(数据){
警报('日期'+数据['date']的错误]);
}
});
如果服务器传回JSON中的“data”元素,则一切正常,可以读取警报


但是,如果有一个错误阻止返回发送的日期,AJAX请求如何检测在error函数中发送的日期值?这是假设用户在服务器有机会响应之前选择了不同的日期,因此,
#dateform
中的
date
元素将不再代表随请求发送的日期。

在提交ajax帖子之前将日期值保存到变量中,并在error函数中引用此变量的值。

在提交ajax帖子之前将日期值保存到变量中并在error函数中引用该变量的值。

想到了这一点,但随后注意到用户正在更改日期,并在上一个过程完成之前重新提交AJAX表单。这随后会导致在上一个服务器端进程完成之前更改变量值。这是我想要允许的行为,但要考虑到,因为服务器端进程可以同时运行相当长的一段时间,并在用户视图中显示结果。只需确保变量是启动ajax请求的函数的本地变量,而不是全局变量。考虑到这一点,但随后注意到,用户正在更改日期,并在上一个过程完成之前重新提交AJAX表单。这随后会导致在上一个服务器端进程完成之前更改变量值。这是我想要允许的行为,但要考虑到,因为服务器端进程可以同时运行相当长的一段时间,并在用户视图中显示结果。只需确保变量是启动ajax请求的函数的本地变量,而不是全局变量。