0

AJAXを使用してJavascriptからVB.NETWebメソッドに単純な文字列を送信して返そうとしています。これが私が使用しているJavascript/jQueryスクリプトです:

function jQuerySerial() {
//I SET A VARIABLE TO THE STRING I WANT TO PASS INTO MY WEB METHOD
var str = "Hello World";

//AND TRY TO PASS IT INTO MY VB.NET WEB METHOD
$.ajax({
    type: "POST",
    url: "test_WebService.asmx/testWebService",
    data: str,
    contentType: "application/json; charset=utf-8",
    dataType: "json",
    success: function (e) {
        alert("It worked: " + e);
    },
    error: function (e) {
        alert("There was an error retrieving records: " + e);
    }
});
}//END jQuerySerial

そして、これが非常に単純なVB.netWebメソッドです。Webメソッドは、文字列を取得してJavascriptに返す以外に何もしません。

   <WebMethod( )> _
Public Function testWebService(str As String) As String
    Return str
End Function

これを実行しようとすると、エラー:関数が起動し、次のメッセージが返されます。

"There was an error retrieving records: [object Object]"

この同じWebサービスクラスには、データベースレコードを操作する他の多くのWebメソッドがあり、それらはすべて機能します。しかし、これは私が$ .ajax構文を使用して記述し、呼び出し元のJavascriptに何かを返すことを試みた最初のものであるため、ここで何が問題なのか完全にわかりません。

この作業を行う方法についての提案をいただければ幸いです。ありがとう

4

1 に答える 1

1

ここでの問題は、JSONオブジェクトを期待しているときにWebサービスに単純な文字列を渡していることのようです。jQueryおよびASP.NETWebサービス(特に項目2)の一般的な問題については、次の記事を参照してください。

http://encosia.com/3-mistakes-to-avoid-when-using-jquery-with-aspnet-ajax/

于 2013-01-31T17:18:42.377 に答える