对 .NET WebMethod 的 jQuery 调用无序运行

Posted

技术标签:

【中文标题】对 .NET WebMethod 的 jQuery 调用无序运行【英文标题】:jQuery Calls to .NET WebMethod Working Out of Order 【发布时间】:2016-04-03 00:22:43 【问题描述】:

我在使用 jQuery 的 Web 应用程序中使用了大量 .NET WebMethod 调用。我的电话没有按预期的顺序工作。第一次加载页面正常,重新加载页面后,WebMethod调用无序。如何让它始终按预期顺序一个接一个地工作?

我正在使用 jQuery $.ajax():

$.ajax(
    type: "POST",
    url: "",
    data: '',
    contentType: "application/json; charset=utf-8",
    dataType: "json",
    success: function (response)  ,
    error: function (msg)  alert(msg.error); 
);

【问题讨论】:

你在使用 $.Ajax 吗? 是.. $.ajax( type: "POST", url: ", data: '', contentType: "application/json; charset=utf-8", dataType: "json" , 成功:函数(响应) ,错误:函数(msg) alert(msg.error); ); 能否请您单击问题下方的编辑链接并将此信息添加到问题中。这将帮助您获得回复。 我尽可能地澄清了语法并澄清了问题。我还从您的评论中添加了$.ajax() 调用示例。如果您可以添加任何其他详细信息以帮助澄清问题,那将有所帮助。您如何拨打所有电话?是什么触发了它们?你能发布更多你的代码吗? 【参考方案1】:

在 ajax 中添加 async: false 选项。默认情况下,Ajax 进行异步调用,因此不能保证顺序。

$.ajax( 
       type: "POST",
       async : false, // Add this
       url: "", 
       data: '', 
       contentType: "application/json; 
       charset=utf-8", 
       dataType: "json", 
       success: function (response)  , 
       error: function (msg)  alert(msg.error);  
);

【讨论】:

以上是关于对 .NET WebMethod 的 jQuery 调用无序运行的主要内容,如果未能解决你的问题,请参考以下文章

使用 jQuery 调用 ASP.NET PageMethod/WebMethod - 返回整个页面

使用 jQuery 将 JSON 对象成功发送到 ASP.NET WebMethod

ASP.NET 自定义验证器 + WebMethod + jQuery

JQuery ajax调用asp.net的webMethod

asp.net jquery datatables.net webmethod [重复]

从 JQuery 调用的 ASP.Net [WebMethod] 获取更好的错误消息