错误我使用jQuery来发布到MVC控制器操作,返回一个信息表。该页面的用户通过点击各种链接触发。为什么在AJAX请求调用abort()会导致ASP.Net MVC(IE8)
如果用户决定快速连续单击这些链接的一堆,我想取消任何以前的ajax请求,可能还没有完成。
我发现,当我做到这一点(虽然从客户的POV其罚款)我会在Web应用程序的错误说
"The parameters dictionary contains a null entry for parameter srtCol of non-nullable type 'System.Int32'"
现在阿贾克斯后deffinately通过在所有的参数,如果我不尝试并取消ajax请求,它工作得很好。
但是,如果我通过调用ajax()在完成前返回的XMLHttpRequest对象上的abort()来取消请求,我会从ASP.Net MVC中获取错误。
例子:
//Cancel any pevious request
if (req)
{
req.abort();
req = null;
}
//Make new request
req = $.ajax({
type: 'POST',
url: "/Myapp/GetTbl",
data: {srtCol: srt, view: viewID},
success: OnSuccess,
error: OnError,
dataType: "html"
});
我发现这只是发生的是IE8。在FF中,它似乎不能解决问题。
有谁知道如何取消IE8中的ajax请求,而不会导致MVC的错误?
感谢您的任何帮助。
我怀疑你是对的。但我不确定如何重写我的JS代码,以便中止请求时忽略OnSuccess,但为未中止的请求运行。你能举个例子吗? – user169867 2010-06-03 19:52:00
我喜欢它。我认为这将起作用。非常感谢! – user169867 2010-06-04 17:19:32
没问题!希望它能解决问题。 – kevingessner 2010-06-04 17:33:05