0

我有一个将字符串传递给 VB.NET Web 方法的 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.NET 网络方法。Web 方法只是获取字符串并将其发送回 Javascript:

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

当 Web 方法成功返回时,我的 AJAX 块返回以下消息:

"It worked: [object Object]"

所以我的问题是,如何使用返回的对象?该对象应该是一个包含单词“hello world”的字符串,但我如何访问字符串值?

4

2 回答 2

1

ASP.Net WebMethods 将它们的返回值包装在一个带有d属性的 JSON 对象中。(您可以在浏览器开发者工具的响应正文中看到这一点)

您需要编写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 回答