AJAX/prototype重置调用
我有一个与AJAX/原型相关的问题。我在onclick(我保证我会把它移出那里:)事件中有一个AJAX调用,当前是内联的,如下所示:AJAX/prototype重置调用,ajax,prototypejs,call,reset,Ajax,Prototypejs,Call,Reset,我有一个与AJAX/原型相关的问题。我在onclick(我保证我会把它移出那里:)事件中有一个AJAX调用,当前是内联的,如下所示: onclick="var pn = $('yards').value; $('inventory').update('Working...'); new Ajax.Updater('inventory','ajax.php?ac=checkInventory&productID='.$someproductid.'&yards='+pn,{meth
onclick="var pn = $('yards').value; $('inventory').update('Working...');
new Ajax.Updater('inventory','ajax.php?ac=checkInventory&productID='.$someproductid.'&yards='+pn,{method:'get', evalScripts: true, asynchronous: true, onComplete:function(tr){$('inventory').update(tr.responseText);}});"
然后,名为ajax.php的文件从$_GET[]获取数据,显示一个小的文本输入字段。当填写并单击提交按钮时,它调用一个函数,从文件中读取相关数据,并在屏幕上打印结果。所有这些代码的目的都是库存检查
因此,当用户用上面定义的onclick单击“获取库存”按钮时,一切都很好,用户填充码数,弹出正确的结果,每个人都很高兴。但是,如果用户想要进行另一次库存检查,那么整个页面都需要刷新,这使得它的可用性降低。如果不是,则当单击“获取库存”按钮时,用户将再次获得与上次检查相同的结果,而不是文本输入字段
所以,我的问题是,在一次库存检查之后,整个事情会自动重置,这样下次用户单击“获取库存”按钮时,他会再次填写文本输入字段,从而获得新的结果
如果我说得不够清楚,我很抱歉。我对AJAX和prototype非常陌生,这是我同事的工作,我需要完成…谢谢 啊,我明白了
我不认为Ajax.Updater是这样工作的;请查看文档:
尝试的事项:
- 在ajax.updater调用中触发onComplete事件时,请在重新填充文本输入字段之前清除该字段
- 提醒响应,以确保从服务器获得不同的响应 *使用Fiddler确保您传递的是不同的productId
- 将onComplete更改为onSuccess
希望这对您有所帮助,因为您已经承诺要将代码移出
onclick
处理程序,请执行以下操作:
var inv = $('inventory');
inv.update('Working...');
new Ajax.Request('ajax.php', {
method:'get',
parameters:{
ac:'checkInventory',
yards:$('yards').value
},
onSuccess: function(response)
{
inv.update(response.responseText);
}
});
谢谢,它在调试过程中确实有所帮助。最后,我将其从onclick中删除,并设置整个函数,使其在显示文本输入字段的同时调用onclick。这样,每当用户单击该按钮时,它就会重新启动。
var inv = $('inventory');
inv.update('Working...');
new Ajax.Request('ajax.php', {
method:'get',
parameters:{
ac:'checkInventory',
yards:$('yards').value
},
onSuccess: function(response)
{
inv.update(response.responseText);
}
});