jQuery + Webservices:Webservice不返回JSON,只返回XML

时间:2010-07-04 22:50:08

标签: asp.net jquery vb.net web-services

看起来它只是不想工作......

@ Webservice:

<ScriptMethod(UseHttpGet:=False, ResponseFormat:=ResponseFormat.Json), WebMethod()> _
    Public Function LoginDB(ByVal user As String, ByVal pass As String) As String
        global.user = user
        global.pass = pass
        If (<<lots of code to check if user is valid>>) Then
            Return "1"
        Else
            Return "0"
        End If
    End Function

webservice DOES工作,如果用户有效,则返回1,否则为0.但我总是将其作为XML

<?xml version="1.0" encoding="utf-8"?>
<string xmlns="http://tempuri.org/">"0"</string>

@Jquery:

$.ajax({
                type: "POST",
                contentType: "application/json; charset=utf-8",
                url: "Services/Autenticacao.asmx/LoginDB",
                data: "{'user':'ale','pass':'123'}",
                dataType: "json",
                success: function(data) {
                    alert(data);
                },
.....

任何?

2 个答案:

答案 0 :(得分:2)

您需要发布您的jQuery,但是您使用的是getJson jQuery方法吗?如果不是,则需要明确设置正确的数据类型:

$.ajax({
  type: "POST",
  contentType: "application/json; charset=utf-8",
  url: "WebService.asmx/WebMethodName",
  data: "{}",
  dataType: "json"
});

或使用getJSON方法:

$.getJSON('WebService.asmx/WebMethodName', function(data) {
    //Do something with JSON response (data)
});

答案 1 :(得分:0)

如果您希望您的网络服务返回JSON 询问并回答... How to return JSON from a 2.0 asmx web service