【发布时间】:2011-08-18 23:04:57
【问题描述】:
我有一个简单的问题,如何将 ajax 请求存储到内存中。我会试着解释我想要得到什么。
我有一个表格用于将表格编辑到数据库中。
第一次运行良好,但重试后出现问题。如果我不刷新页面,它总是从第一个请求发送相同的数据。
例子:
进入我的数据库
id
user
password
我有一个具有相同参数的表单,我用 ajax 调用了这个表单。
我从数据库中编辑了一个寄存器,并将编辑后的数据发送出去,运行良好,但进入浏览器内存,请求被存储。
我尝试再次编辑同一个寄存器,但是当我再次发送时,数据和第一次一样。
如果是第一次发送:
user : 'userx'
password : 'usex1234'
当我再次尝试编辑此寄存器时,例如:
user: 'userxx'
password : 'password1234'
最后,发送的数据有这些值
user : 'userx'
password : 'usex1234'
如何解决这个问题?我想删除第一个请求,但我不能。 我想在不使用 f5 或刷新的情况下从浏览器中清理内存,因为仅使用 f5,再次运行良好。
我试过了:
request = new Request();
request = null; 但不是什么都没发生
delete request; 是一样的,没什么变化。
谁能帮帮我?
我的代码:
function _update(id){
var n = Number(new Date());
var edit = new Request({
url: 'users/edit?'+new Date().getTime(),
noCache: true,
onRequest: function(){
$('dark').setStyle('display','block');
},
onSuccess: function(data){
$('dark').setStyle('display','none');
box_edit.close();
update();
},
onComplete: function(response){
console.log(response);
},
onFailure: function(){
Sexy.error("Ocurrio un error procesando su solicitud, intente más tarde.");
}
});
var box_edit = new LightFace.Request({
url: 'users/edit?'+new Date().getTime(),
draggable:true,
title: 'Editar usuario.',
request:{
method: 'post',
data: { isc_user_id: id }
},
buttons: [ { title: 'Editar', color:'blue', event: function(){
var id__ = $('isc_user_frm_id_'+id).get('value');
if (before_update(id__)){
if ( $('isc_password_'+id__).get('value')=='' && $('isc_re-password_'+id__).get('value')==''){
var data = 'userEdit=Ok&isc_user='+$('isc_user_'+id__).get('value')+'&isc_group='+$('isc_group_'+id__).getSelected().get('name')+'&isc_user_id='+ id;
}else{
var data = 'userEdit=Ok&isc_user='+$('isc_user_'+id__).get('value')+'&isc_password='+hex_md5($('isc_password_'+id__).get('value'))+'&isc_group='+$('isc_group_'+id__).getSelected().get('name')+'&isc_user_id='+ id;
}
edit.send(data);
}
}
},
{ title:'Cancelar', event:function(){ this.close(); } }]
});
box_edit.open();}
【问题讨论】:
-
data: { isc_user_id: id }我可能弄错了,但在我看来你已经在这里设置了数据,所以当你发送数据时,它总是发送相同的数据。 -
ibrahim 这个id,只用于获取用户行数据。我有一个包含所有记录的列表,并且此列表具有用于编辑或删除的“id”取决于目的,发送表单数据以更新到数据库的请求是 var edit = new Request(...);
-
而不是发送数据
edit.send(data)尝试使用alert(data)进行调试,看看你的数据是否正确
标签: javascript ajax memory mootools