将字符串传递并返回 VB.NET Web 方法

Pass And Return A String Into VB.NET Web Method

本文关键字:VB NET Web 方法 返回 字符串      更新时间:2023-09-26

我正在尝试使用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 服务类中,我有许多其他 Web 方法,它们操作数据库记录,并且它们都可以工作。但是,这是我尝试使用 $.ajax 语法编写并向调用 Javascript 返回一些内容的第一个,所以我完全不知道这里出了什么问题。

关于如何使这项工作的任何建议将不胜感激。谢谢

看起来这里的问题是,当 Web 服务需要 JSON 对象时,您将一个简单的字符串传递给它。请参阅这篇关于 jQuery 和 ASP.NET Web 服务的常见问题的文章(特别是第 2 项):

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