gpt4 book ai didi

javascript - 从另一个 Web 服务的 Success 函数调用 C# Web 服务?

转载 作者:行者123 更新时间:2023-12-03 05:44:40 28 4
gpt4 key购买 nike

我的问题很简单。您可以从另一个 Web 服务的 Success 函数调用 C# Web 服务吗?我认为答案是否定的。

我有一个登录 Web 服务,当用户尝试执行需要用户登录的操作时,该服务会被调用。然后,这会调用另一个 Web 服务,当操作完成时,它不会进入 onSuccess 函数。我假设它不能这样做?这是正确的吗?

示例代码,而不是实际代码。

webservice.login(onLoginSuccess)

function onLoginSuccess(){

webservice.doSomething(onDoSomethingSuccess)

}

function onDoSomethingSuccess(){

.... does not get here.

}

这是它的基本代码。

在客户端 JavaScript 调用中,登录 Web 服务成功。

function onLoginSuccess(result){


negotiateWithUser(true,
activeUser.id,
negotiation.dateID,
activeUser.showChat,
true);
}


function negotiateWithUser() {

<code>

if (justLoggedIn) updateDateData();

<code>
}

function updateDateData(){
if (populate==false){

populate=true;
WebService.Negotiations.DatesGet(activeUser.id,SucceededtoCallbackDateRefresh, ErrorHandler);
}
}

即使返回数据并且没有错误,也不会进入函数 SucceededtoCallbackDateRefresh。

我想我知道问题是什么,在negotiateWithUser函数中调用updateDateData,执行控制权返回给negotiateWithUser函数,而不是进入SucceededtoCallbackDateRefresh成功函数,因为它是异步调用。我认为需要某种回调函数。

我通过在 onLoginSuccess 函数的 setInterval() 中调用 updataDateData 函数解决了这个问题。

 function onLoginSuccess(result){ 

if (negotiate) {
timerInterval = setInterval("updateDateData()", 300);
}

}

它有效。如果有人有更优雅的方法,我会很感兴趣。
谢谢。

最佳答案

如何使用 jQuery.ajax()?

 function Func1() {
$.ajax({
url:'MyWebService.asmx/Func1',
success:Func1Success,
error: function () {
alert('there was an error!');
},
});
return false;
}
function Func1Success(output){
$.ajax({
url:'MyWebService.asmx/Func2',
success:Func1SuccessToSuccess,
error: function () {
alert('there was an error!');
},
});
}
function Func1SuccessToSuccess() {
return false;
}

关于javascript - 从另一个 Web 服务的 Success 函数调用 C# Web 服务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40381194/

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