0

文字列をVB.NETWebメソッドに渡すJavascript関数があります。これがJavascriptです

function jQuerySerial() {
//I SET A VARIABLE TO THE STRING I IS PASSED INTO MY WEB METHOD
var str = "{ 'str': 'hello world'}";

//THEN I 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

Webメソッドが正常に戻ると、AJAXブロックは次のメッセージを返します。

"It worked: [object Object]"

だから私の質問は、返されたオブジェクトをどのように使用するのですか?オブジェクトは「helloworld」という単語を含む文字列である必要がありますが、文字列値にアクセスするにはどうすればよいですか?

4

2 に答える 2

1

ASP.Net WebMethodsは、プロパティを使用して戻り値をJSONオブジェクトにラップしdます。(これは、ブラウザーの開発者ツールの応答本文で確認できます)

e.d実際の値を取得するには、書き込む必要があります。

于 2013-01-31T18:36:15.240 に答える
0

もし、するなら:

$(e).text()

あなたはあなたのテキストを得るでしょう。

したがって、これを次のように変更します。

function jQuerySerial() {
//I SET A VARIABLE TO THE STRING I IS PASSED INTO MY WEB METHOD
var str = "{ 'str': 'hello world'}";

//THEN I 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).text());
},
error: function (e) {
    alert("There was an error retrieving records: " + e);
}
});
}//END jQuerySerial
于 2013-01-31T18:37:40.997 に答える