我有一个jQuery应用程序,一个购物车,如果文本输入字段被更改,它会将信息发布到服务器。这是在Ajax请求中完成的。现在,如果Ajaxrequest成功,我想重新加载购物车异步。代码如下:我可以在正在进行的Ajax请求(例如,成功回调函数)中发出Ajax请求吗?
$(document).ready(function() {
var jInput = $(":input");
jInput.change(function() {
var vareAntal = $(this).val();
var vareID = $(this).siblings("input#vareID").val();
$.ajax({
type: 'POST',
url: 'checkout.aspx',
data: { 'ID': vareID, 'Antal': vareAntal },
success: function() {
$("#newbasket").load(location.href + " #newbasket>*", "");
}
});
});
});
这个工程,但只有一次!如果我更改了文本输入域,在第一次加载页面之后,具有newbasket ID的div将异步重新加载。但如果我试图再次改变它,没有任何反应。
我试着用Firebug做一些调试,当我第一次改变文本输入字段时,它触发POST事件,然后发生GET事件,当POST事件成功时。但在此之后,当我再次更改文本输入字段时,什么也没有发生。
那么,如何在每个文本输入更改后实现触发.load()方法?
我也尝试过使用.ajaxComplete()函数进行实验,但是当然这会导致无限循环,因为.load()是一个ajax对象。
谢谢,这工作就像一个魅力! – MadsMadsDk 2010-09-06 12:36:23