0

这是我的示例 json 数据

{"Caption":"BBA Feedback Form ","Notes":"Fields marked with \u003cfont size=\"-2\"  color=\"#e30102\" face=\"Verdana\"\u003e (*) \u003c/font\u003e are  compulsory","Name":"Name\u003cfont size=\"-2\" color=\"#e30102\" face=\"Verdana\"\u003e * \u003c/font\u003e","Subject":"Subject\u003cfont size=\"-2\" color=\"#e30102\" face=\"Verdana\"\u003e * \u003c/font\u003e","Email":"Email Address\u003cfont size=\"-2\" color=\"#e30102\" face=\"Verdana\"\u003e * \u003c/font\u003e","Details":"Feedback\u003cfont size=\"-2\" color=\"#e30102\" face=\"Verdana\"\u003e& nbsp;* \u003c/font\u003e"}

我想用 jquery 解析它并填写我的标签。我在下面尝试过这样的方法,但没有奏效。

    function LoadEnquiryData() {
    $.ajax({
        type: "POST",
        url: urlToHandler + "?ac=show",
        data: {},
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        success: function (data) {
            $("input[id*='enq_lblcaption']").val(data["Caption"])
            $("input[id*='enq_lblnotes']").val(data["Notes"])
            $("input[id*='enq_lblfield_name']").val(data["Name"])
            $("input[id*='enq_lblfield_subject']").val(data["Subject"])
            $("input[id*='enq_lblfield_email']").val(data["Email"])
            $("input[id*='txtEnqDetails']").val(data["Details"])
            $("input[id*='btnEnqSubmit']").val(data["SubmitVal"])

        },
        error: function (XMLHttpRequest, textStatus, errorThrown) {
            alert(textStatus);
        }
    });
}

所以请指导我如何解析它。谢谢

4

3 回答 3

1

我会提供比“没有用”更多的帮助(比如你得到什么错误),但从你所拥有的来看,我没有看到任何明显的错误。从 json 中,您可以通过两种方式访问​​您的字段:

第一个,你喜欢data["Caption"] 或第二个,喜欢Data.Caption

我会验证您返回的数据,以确保它与您提供的样本相匹配。您可能会得到这些对象的数组吗?如果没有返回数据的服务器代码,很难分辨。

于 2012-12-19T15:01:53.373 回答
1

你确定data变量不是nullundefined

我这么说是因为你的逻辑是正确的。此外,有两种方法可以data通过执行以下操作来获取您的信息:

data["Caption"]

或者

data.Caption

(对其他值做同样的事情)

但是你不能这样做似乎很奇怪。如果您想测试我告诉您的内容,请转到此处:

http://jsfiddle.net/oscarj24/6NUNd/

并且json只有在datais notnullundefined.


我建议你先打印你的data变量console.log(data);,然后看看你$.ajax callback的工作是否正常。


希望这可以帮助 :-)

于 2012-12-19T15:10:11.070 回答
0
$("input[id*='enq_lblcaption']").val(data.Caption)
$("input[id*='enq_lblnotes']").val(data.Notes)
and so on...

我的错,你不需要 parseJSON ——我已经在用它做别的事情了,只是把它放在这里。我已经在上面编辑了我的代码,这应该可以正常工作。

于 2012-12-19T15:00:54.837 回答