我正在尝试使用AJAX从Javascript发送并返回一个简单的字符串到VB.NET Web方法。这是我正在使用的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.net Web方法。 Web方法除了获取字符串之外什么都不做,然后将其传递给Javascript:
<WebMethod( )> _
Public Function testWebService(str As String) As String
Return str
End Function
当我尝试运行此错误时:函数触发并返回一条消息:
"There was an error retrieving records: [object Object]"
我在同一个Web Service类中有许多其他Web方法来操作数据库记录,它们都可以工作。但是,这是我尝试使用$ .ajax语法编写的第一个并且返回调用Javascript的东西,所以我完全不知道这里有什么错误。
任何关于如何使这项工作的建议将不胜感激。感谢
答案 0 :(得分:1)
看起来这里的问题是,当您期望JSON对象时,您将一个简单的字符串传递给Web Service。有关jQuery和ASP.NET Web服务的常见问题(特别是第2项),请参阅此文章:
http://encosia.com/3-mistakes-to-avoid-when-using-jquery-with-aspnet-ajax/