我有一个像这样的按钮:
<button class="btn btn-small" id="attendYes" data-rsvp="2" runat="server">Yes</button>
这最初通过jQuery调用web方法将数据提交到数据库,然后在成功回调时,按钮颜色被更改。然后我为此按钮添加了一个回发事件,以便向用户提供ICAL文件。
一旦我调用了回发方法,我就开始从ajax调用中获取失败。 Web服务正确运行,我可以在fiddler中看到它已经返回了正确的JSON对象,尽管fiddler显示了“会话被客户端,Fiddler或服务器中止”的图标。
更改了数据库并提供了ICAL文件,我的问题是即使在Web方法完成之前总是运行失败回调。我做错了什么。
答案 0 :(得分:1)
您描述的行为完全正常。
回发就像是浏览器的重定向。这意味着整个HTML文档被卸载,并且从服务器请求新文档。
因此浏览器会停止当前正在运行的所有Javascript / AJAX,因为浏览器会以任何方式卸载整个文档。浏览器会将所有当前待处理的ajax请求的取消请求发送到相应的服务器,从而导致错误。
您必须等待ajax调用完成,然后再回发。