3

我的问题是:

我有 WCF 服务,它包含一种方法,可以返回 true 或 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;
    }

但它总是提醒“真”并且并行执行服务方法(SaveChanges),而无需等待服务的回答。

我需要等待服务的回答,当它完成时得到“真”或“假”。

对不起我的英语不好 :)

谢谢!

4

1 回答 1

0

在您的服务器方法 SaveChanges 中,它始终返回 true 。所以你总是真实的。如果您的服务器实现正确返回 true 或 false,请尝试以下检查客户端

在 javscript 中,您也应该使用 '===' 进行类型检查。

if (WayToMyServiceMethod.SaveChanges(aaa, bbb, ccc) === false) {
        alert("false");
        return false;
    }
    else {
        alert("true");
        return true;
    }
于 2012-09-20T10:44:40.687 回答