首页 > 解决方案 > 使用 jason 从 jquery ajax 成功获取 Gettign 值

问题描述

我是 jquery 的新手,我无法在网上找到我的简单问题的答案。

我有

     $(document).ready(function () {
            $.ajax({
                type: "POST",
                url: "Default.aspx/Getmessage",
                data: "{'uid': '" + "XX" + "' }",
                contentType: "application/json; charset=utf-8",
                dataType: "json",
                success: OnSuccess,
                failure: OnFailure
            });
        });
        function OnSuccess(data) {
            $("#lblMessageReceived").html(data.uid + data.text);
        }
        function OnFailure() {
            alert("Error");
        }

服务器端我有

Public Class clsResponseData
    Public Property uid As String
    Public Property text As String = "Hello"
End Class

<System.Web.Services.WebMethod()>
Public Shared Function getMessage(uid As String) As String
     Dim rd As New clsResponseData
     rd.uid = uid
     Return JsonConvert.SerializeObject(rd)
End Function

当我运行代码时,我得到

    "data" as Object {d: "{"uid":"XX","text":"Hello"}"}
and then 
    "data.d" as "{"uid":"XX","text":"Hello"}"
but then
    "data.d.uid" returns undefined
so how do I reference the value of "uid" and "text"? .

我已经用 Visuals Studio 编辑器和 Chrome 浏览器检查了这个代码。我还需要添加什么?

标签: javascriptjquery

解决方案


如果有人寻找这个,我想答案是添加一个 eval() 函数

function OnSuccess(data) {
         eval('var t =' + data.d);
         $("#lblMessageReceived").html(t.uid + t.text);
        }

推荐阅读