Ajax-启用 WCF 服务:了解 Javascript 调用函数时的参数
Ajax-Enabled WCF service : understanding Javascript parameters when calling a function
我正在玩弄 msdn 网站上的 Ajax-Enabled WCF services. So far I've managed to create and consume my service with a small client application. However while reading the "How-to" 页面,我遇到了这段代码:
function Button1_onclick() {
var service = new SandwichServices.CostService();
service.CostOfSandwiches(3, onSuccess, null, null);
}
function onSuccess(result) {
alert(result);
}
并且在调用该函数时我无法理解(甚至无法找到相关信息)null, null
参数。 3
是您要传递给服务函数的参数,onSuccess
是在成功回调时调用的函数,但是那两个空参数是什么?
它们是成功、错误和useContext 的回调。您可以在 "Accessing WCF web services" 部分阅读更多内容 here。
最后两个参数分别指onFailure
和Usercontext
下面提到的问题。
service.CostOfSandwiches(3, onSuccess, null, null);
OnFailure :
顾名思义,如果 ajax 由于网络问题、服务器错误、超时等原因导致调用失败,将调用此处作为参数传递的函数。
UserContext:
一般所有ajax调用(我的意思是这个[WCFAjax]太依赖ajax调用)都使用这个参数。因为,有一个调用 $.ajax
的主要方法,在您的情况下它是 Button1_onclick
。所以到目前为止,所有定义的变量在回调中都不可用(成功或失败),因为这些在 ajax 调用完成时被回调,但是为了让那些调用知道先前定义的变量,上下文选项用于传递他们。
示例:
function Button1_onclick() {
var service = new SandwichServices.CostService();
var some_var = "someval"; // on successcallback if you are trying to access this, it will show error.
service.CostOfSandwiches(3, onSuccess, null, null);
}
要在成功回调中使用它,您必须将其作为 usercontext 对象传递——像这样 service.CostOfSandwiches(3, onSuccess, null, some_var);
OnSuccessMethod -
function onSuccess(result,usctx,methodname)
{
if (usctx == "someval")
{
alert(result);
}
}
有关一般 ajax 上下文选项的更多信息,请参阅此 - How to pass context in jquery ajax success callback function
我正在玩弄 msdn 网站上的 Ajax-Enabled WCF services. So far I've managed to create and consume my service with a small client application. However while reading the "How-to" 页面,我遇到了这段代码:
function Button1_onclick() {
var service = new SandwichServices.CostService();
service.CostOfSandwiches(3, onSuccess, null, null);
}
function onSuccess(result) {
alert(result);
}
并且在调用该函数时我无法理解(甚至无法找到相关信息)null, null
参数。 3
是您要传递给服务函数的参数,onSuccess
是在成功回调时调用的函数,但是那两个空参数是什么?
它们是成功、错误和useContext 的回调。您可以在 "Accessing WCF web services" 部分阅读更多内容 here。
最后两个参数分别指onFailure
和Usercontext
下面提到的问题。
service.CostOfSandwiches(3, onSuccess, null, null);
OnFailure :
顾名思义,如果 ajax 由于网络问题、服务器错误、超时等原因导致调用失败,将调用此处作为参数传递的函数。
UserContext:
一般所有ajax调用(我的意思是这个[WCFAjax]太依赖ajax调用)都使用这个参数。因为,有一个调用 $.ajax
的主要方法,在您的情况下它是 Button1_onclick
。所以到目前为止,所有定义的变量在回调中都不可用(成功或失败),因为这些在 ajax 调用完成时被回调,但是为了让那些调用知道先前定义的变量,上下文选项用于传递他们。
示例:
function Button1_onclick() {
var service = new SandwichServices.CostService();
var some_var = "someval"; // on successcallback if you are trying to access this, it will show error.
service.CostOfSandwiches(3, onSuccess, null, null);
}
要在成功回调中使用它,您必须将其作为 usercontext 对象传递——像这样 service.CostOfSandwiches(3, onSuccess, null, some_var);
OnSuccessMethod -
function onSuccess(result,usctx,methodname)
{
if (usctx == "someval")
{
alert(result);
}
}
有关一般 ajax 上下文选项的更多信息,请参阅此 - How to pass context in jquery ajax success callback function