gpt4 book ai didi

javascript - Ajax/Jquery 每 'interval' 秒调用一次 webmethod/service

转载 作者:行者123 更新时间:2023-11-29 15:35:03 26 4
gpt4 key购买 nike

我有一个在客户端实现了 jquery 的 ASP.Net 网络应用程序。客户端 jquery 脚本对服务器端代码中的 Web 方法进行异步调用。该调用返回 jquery 用于更新用户的状态打开记录(事件/非事件)。目标是让 jquery 重复调用服务器,一旦打开的记录处于非事件状态,那么我们需要向用户显示消息,以便您不再与该记录相关联。我在 中设置了 TimeInterval HiddenFieldValues 并传递给 Jquery/ajax 函数。

此函数是在一个单独的 JavaScript 文件中编写的,并且已在我的 ASPX 页面脚本管理器中引用。我必须从服务器端传递“间隔”,这是在 .config 文件中配置的。

function myWebServiceFunction(val1, val2, val3, interval) {
$.ajax({
type: "POST",
url: "/Application/WebServices/MyService.asmx/CheckFunction",
data: "{'val1':'" + val1 + "','val2':'" + val2 + "','val3':'" + val3 + "'}",
contentType: "application/json; charset=utf-8",
dataType: "json",
async: true,
success: function (msg) {
debugger;
var obj = function callbackfunction() {
myWebServiceFunction(HealthCarrierShortName, authID, networkID, interval)
}
if (!msg.d) {


window.setTimeout(obj, interval);
}
else {
// Still need to implement how to display to user if the record is not long associated to that user. help me in this too
}
},
error: function (xhr, ajaxOptions, thrownError) {
alert('AJAX failure');
}
});
}

在我的服务器端,我在 Page_load 方法的末尾使用了 RegisterStartUpScript 并调用了该 JQuery 函数

        ScriptManager.RegisterStartupScript(Me.Page, Page.GetType(), "AuthLockPolling", " myWebServiceFunction('" + val1HiddenField.Value + "','" + val2HiddenField.Value + "','" + val3HiddenField.value+ "','" + val4HiddenField.value+  ");", True)

但它不能正常工作(不知 Prop 体原因)。我的 Jquery 函数根本没有被调用。我通过将调试器放入我的脚本中进行测试,但没有被命中。

如果该记录与该用户的关联时间不长(如在警报窗口/弹出窗口中),仍然需要实现如何向用户显示消息。也请在这部分帮助我。

请告诉我出了什么问题以及如何解决这个问题。提前致谢!

最佳答案

如何解决:

RegisterStartupScript 可能会令人困惑(问我怎么知道的!)。您是否在使用部分页面更新(即具有 UpdatePanel 控件)的页面上使用它?如果没有,您应该使用 ClientScriptManager(而不是 ScriptManager)类中的方法。

如果在更新面板内部的控件的部分页面更新页面上使用它,则第一个参数应该是 UpdatePanel 中的控件,而不是页面

还有一个调试提示:通过传入极其简单的 JavaScript 代码进行测试,例如 alert('Hello, World!');。这可以帮助您判断问题是在 RegisterStartupScript 调用中还是在您的 myWebServiceFunction 函数中。

最后,这是 Microsoft 文档:https://msdn.microsoft.com/en-us/library/bb310408(v=vs.110).aspx .因为在不同的类中有同名的方法,所以请仔细阅读文档。

关于javascript - Ajax/Jquery 每 'interval' 秒调用一次 webmethod/service,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30269595/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com