【发布时间】:2014-02-28 12:16:10
【问题描述】:
我有一个这样的按钮:
<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 方法完成之前。我做错了什么。
【问题讨论】:
-
如何调用回发?
-
只是使用标准回发 javascript .net 为绑定到事件的 runat 控件添加,我没有专门调用它。
-
那么你的ajax调用失败是正常的。回发实际上是对浏览器的重定向。每当浏览器开始回发时,它都会停止所有当前的 ajax 调用,因为当浏览器更改 html 内容时不再需要执行它们。您必须等到您的 ajax 完成,然后再回电。但这在我看来毫无意义
-
同意,理想情况下我会在一个 Web 方法中完成所有操作,但我不能在 Web 方法调用期间使用响应流来提供文件。我想我可能必须在 ajax 调用成功时手动调用它。
-
感谢您的帮助 - 如果您愿意回答我很乐意接受。
标签: jquery .net web-services http