0

我正在尝试读取从后面代码中的函数给出的 JSON 数据。我有这个设置:

后面的代码:

    <WebMethod()>
Public Shared Function LoadVolgNummer(ByVal EnqDGId As String, ByVal VolgordeId As String) As String
    Dim oRetValue As EnqueteVraag = Nothing
    Try
        oRetValue = EnqueteDetail.LoadQuestion(EnqDGId, VolgordeId)
    Catch ex As Exception
        ReportError(ex.Message, GetCurrentMethod.Name)
    End Try
    Dim serializer As New JavaScriptSerializer
    Dim JSON As String = serializer.Serialize(oRetValue).ToArray
    Return JSON
End Function

这是我从函数中返回的 JSON 字符串:

{"questionid":1,"question":"De dienstverlening van xxx in het algemeen"}

页面上的 JQUERY:

$.ajax({
        type: "POST",
        url: "enquete.aspx/LoadVolgNummer",
        data: JSON.stringify({EnqDGId: '1', VolgordeId: '1'}),
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        success: function (msg) {
            alert(msg.question);
        },
        error:function() {
            alert('failure in loading volgnummer')
        }
    });

Enquetevraag类:

Public Class EnqueteVraag

Public questionid As Integer
Public question As String

结束类

结果是成功的,但我无法读出 jQuery 中的数据。它向我显示“未定义”。任何帮助表示赞赏。

亲切的问候

4

2 回答 2

1

感谢 Felix King 和 Jan Dvorak,案件结案!

JSON.parse(msg.d).question

于 2013-06-21T09:15:51.933 回答
0

尝试这个:

function getQuestions()
{
   var jsonData = $.ajax({
         url: "enquete.aspx/LoadVolgNummer",
         data: JSON.stringify({EnqDGId: '1', VolgordeId: '1'}),
        dataType: "json",
        async: false
    }).responseText;
    jsonData = JSON.parse(jsonData);
    alert(jsonData.question);
}
于 2013-06-21T09:53:33.090 回答