我的问题是:
我有WCF服务,它包含一个可以返回false的方法。 我在客户端上用JS调用这个方法。
我的问题是调用此方法,然后等待它的答案然后,例如,警告是否为真。
我的SVC文件:
namespace MyNamespace
{
[ServiceContract(Namespace = "AttributeSetAttributeService")]
[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)]
public class MyClass
{
[OperationContract]
public Boolean SaveChanges(string aaa, string bbb, string ccc)
{
// code here
return true;
}
}
}
这就是我在JS上调用此函数的方法:
if (WayToMyServiceMethod.SaveChanges(aaa, bbb, ccc) == false) {
alert("false");
return false;
}
else {
alert("true");
return true;
}
但是它始终警告'true'并且并行执行服务方法(SaveChanges)而不等待服务的回答。
我需要从服务中等待回答,并在完成时获得'true'或'false'。
对不起我的英文:)
谢谢!
答案 0 :(得分:0)
在您的服务器方法SaveChanges中,它始终返回true。所以你永远都是真的。如果您的服务器实现正确返回true或false,请尝试在客户端进行以下检查
在javscript中你应该使用'==='来检查类型检查。
if (WayToMyServiceMethod.SaveChanges(aaa, bbb, ccc) === false) {
alert("false");
return false;
}
else {
alert("true");
return true;
}