当用户点击链接时,我正在使用JQuery和MVC2发出AJAX请求。链接在jQuery中使用.live,如下所示:
$('.listdelete').live('click', function (event) {
event.preventDefault();
url = '/Controller/Action';
data = getArguments();
$.getJSON(url, data, function (data) {
alert('success!');
});
当我在控制器中删除断点时,我可以看到在第一个用户单击时,找到并执行了控制器操作。在后续单击时,getJSON调用将执行成功警报,但不会执行控制器代码。使用.live和getJSON有问题吗?
答案 0 :(得分:0)
问题可能在于(如果您使用的是IE)浏览器缓存您的请求。所以你取得了成功,但没有真正的电话。为避免这种情况,你应该这样做:
$('.listdelete').live('click', function (event) {
event.preventDefault();
url = '/Controller/Action';
data = getArguments();
//get the timestamp
var nocache = new Date().getTime();
//add the timestamp as a paramter to avoid caching
data['nocache'] = nocache;
$.getJSON(url, data, function (data) {
alert('success!');
});