javascript - 努力处理从 jQuery 调用 vb.Net asmx Web 服务返回的数据

标签 javascript jquery vb.net web-services asmx

我正在编写我的第一个基于 HTML5 的应用程序,我也在编写我的第一个 Web 服务并尝试两者之间的内部连接。为此我设置了一个简单的本地 .vb 太方便了。基于Web服务如下:

<System.Web.Script.Services.ScriptService()> _
<WebService(Namespace:="http://tempuri.org/")> _
<WebServiceBinding(ConformsTo:=WsiProfiles.BasicProfile1_1)> _
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
Public Class Verify
Inherits System.Web.Services.WebService

<WebMethod()> _
Public Function HelloWorld() As String
    Return "Hello World"
End Function

<System.Web.Services.WebMethod()> _
Public Function UsernameVerify(ByVal username As String) _
    As Boolean
    Return (username = "Username")
End Function

<System.Web.Services.WebMethod()> _
Public Function PasswordVerify(ByVal pass As String) _
    As Boolean
    Return (pass = "RandomPassword123")
 End Function
End Class

我想测试我的应用程序是否能够连接到网络服务、发送数据并接收适当的返回。为此,我使用了 jQuery:

function verifyInfo(){
        $.ajax(  
        {  
            Type: 'Post',  
            url: 'http://localhost/TestWebService/Verify.asmx/HelloWorld',   
            success: function(data){alert(data);},
            error: function (XMLHttpRequest, textStatus, errorThrown) { 
                debugger;
            }
        });            
    }

现在的问题是 data 中存储的值被打印为 [object Document]我不完全确定从这里开始哪里。从对 HelloWorld 函数调用的调用中,我期望返回一个字符串 Hello World 。当我通过在 Visual Studio 中调试进行基于浏览器的测试时,调用工作正常并返回适当的 XML 输出,例如:

<string xmlns="http://tempuri.org/">Hello World</string>

很抱歉发了这么长的帖子,但希望获得一些指导,了解如何在发布到网络服务后获取预期数据作为返回。

提前感谢您提供任何提示/提示/建议。

最佳答案

ASMX 在“d”包装器中返回结果。请参阅这篇非常好的文章 http://encosia.com/never-worry-about-asp-net-ajaxs-d-again/

所以尝试这样的事情:

success: function(data){alert(data.d);}

更新:还尝试定义 ajax 调用的正确内容类型:

$.ajax({
    type: 'POST',
    url: [your url]
    data: [your data],
    contentType: 'application/json; charset=utf-8',
    dataType: 'json',
    success: function (data) {alert(data.d);}
});

更新 2:尝试将您的网络方法也更改为此(添加响应格式):

<WebMethod()> _
<ScriptMethod(ResponseFormat:=ResponseFormat.Json)> _
Public Function HelloWorld() As String
    Return "Hello World"
End Function

关于javascript - 努力处理从 jQuery 调用 vb.Net asmx Web 服务返回的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24964676/

相关文章:

javascript - jQuery .CSS 不更新背景

vb.net - 数组或列表中的项目是否保持其顺序?

javascript - 设置 selectedindex 不触发 onchange 事件

javascript - 如何在我的 Android 应用程序中添加 Javascript 广告

javascript - ajax 调用后刷新局部 View

vb.net - 制作一组单选按钮 [VB.NET]

.net - 如何在.net框架4.0中压缩文件夹

javascript - 我可以在 ASP.NET 客户端页面验证失败后运行一些自定义脚本吗?

javascript - 我如何获取两个本地日期时间之间的确切差异,并且时间应该像秒表一样每秒更新一次?

jquery - 使用文档选择动态元素不起作用