2

私は Phonegap の初心者で、Microsoft Visual Studio 2010 で 2 つの簡単な方法で簡単な Web サービスを作成しました。Android プラットフォーム用の Phonegap アプリケーションからそのサービスのメソッドを呼び出したいと考えています。メソッドxhrが私にはほとんど理解できないxuiライブラリを使用しています。そのトピックに関する多くの投稿を読みましたが、その方法がわかりませんでした。

Web サービスへのリンクは次のようになりますhttp://localhost/testservice/Service1.asmx

これは私のWebサービスコードです:

[System.Web.Script.Services.ScriptService]
public class Service1 : System.Web.Services.WebService
{

    [WebMethod]
    public string HelloWorld()
    {
        return "Hello World";
    }

    [WebMethod]
    public int Calculate(int firsNumber, int secundNumber)
    {
        return firsNumber + secundNumber;
    }
}

これは、そのサービスをテストする私の方法です:

function checkWebService() {
      var url = new "http://localhost/testservice/Service1.asmx?op=HelloWorld";
      x$('#test').xhr(url, {error: function(){alert("failed "+this.responseText)},
      callback: function(){
         alert("Success " + this.responseText);
       }
 });

ボタンのクリック時にこのメソッドを呼び出すと、「応答テキスト」なしで「成功」というテキストで常にアラートが表示されます。

おそらく私の URL が間違っていますが、どの URL を入力すればよいかわかりません。これはパラメーターなしの「HelloWorld」メソッド用であり、パラメーター付きのメソッドを呼び出す方法もわかりません。

ヘルプまたは説明をお願いします。

4

1 に答える 1

0

ドキュメントを見ると (私は XUI に詳しくありません)、xhr は標準の Web ページ/JSON Web サービスを取得するためのものであり、XML SOAP 応答を返す標準の Web サービスを呼び出しているためです (それらは HTML ではなく XML タグです)。 )。必要な結果だけを取得するには、この応答を解析する必要があります。

簡単な方法は、JSON 応答を返すように Web サービスを変更し、JavaScript で eval() を使用してオブジェクトの「型付き」ビューを提供することです。XUI の例はこちら

これに慣れていない場合は、JQuery が XUI よりも大きなドキュメント/コミュニティ サポートを持っていることに気付くかもしれません。

ところで、「Localhost」は、本質的に「この」コンピューターを意味するループバック アドレスであるため、通常はサーバー経由で接続するサーバーではなく、モバイル デバイス (またはエミュレーター) 上の Web サービスに接続しようとすることになります。 URL。

于 2012-09-27T11:06:27.760 に答える