3

私の問題は:

true または false を返すことができる 1 つのメソッドを含む WCF サービスがあります。クライアントの JS でこのメソッドを呼び出します。

私の問題は、このメソッドを呼び出してから、その答えを待ってから、たとえば true の場合にアラートを出すことです。

私の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」になります。

私の英語でごめんなさい:)

ありがとう!

4

1 に答える 1

0

サーバー メソッド SaveChanges では、常に true を返します。だからあなたはいつも真実になります。サーバーの実装が true または false を正しく返す場合は、クライアント側で以下のチェックを試してください

JavaScript では、型チェックにも「===」を使用してチェックする必要があります。

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