0

我在阅读从我的 HttpHandler 返回的 JSON 时遇到了一些麻烦。

返回的数据是这样的(根据 Firebug):

[{"ID":2,"Name":"Fred Johnson","PhoneNumber":"444-444-4444","Notes":"Note Data","Representative":1,"StreetNumber":76547,"StreetName":"Juniper St.","City":"Burbank"}]

HttpHandler 代码

public class RequestHandler : IHttpHandler
{
    public RequestHandler()
    { }

    public bool IsReusable
    {
        get { return false; }
    }

    public void ProcessRequest(HttpContext context)
    {
        var thisID = Convert.ToInt32(context.Request["Id"]);
        List<WW.Data.Customer> thisCustomer = WW.Business.Customer.getCustomerByID(thisID);
        JavaScriptSerializer javaScriptSerializer = new JavaScriptSerializer();
        string lookedUpCustomer = javaScriptSerializer.Serialize(thisCustomer);
        context.Response.ContentType = "text/html";
        context.Response.Write(lookedUpCustomer);
    }
}

查询代码

<script type="text/javascript">
    function sendData() {
        alert("start");
        var thisID = $("#Text1").val()
        var arr = { ID: thisID};
        $.ajax(
           {
               url: "jsonpost.ww",
               type: "POST",
               data: arr,
               dataType: 'json',
               async: true,
               success: function (data) {
                   $("#Text2").val = data.Name;
                   $("#Text3").val = data.StreetNumber;
                   $("#Text4").val = data.StreetName;
                   $("#Text5").val = data.City;
                   $("#Text6").val = data.PhoneNumber;
               }
           }
        );
        alert("end");
    }
</script>

所以基本上,当它成功返回时,我无法读取该 JSON 字符串数据。有人看到会导致这种情况的任何东西吗?

任何帮助表示赞赏。

谢谢, CSS

4

2 回答 2

3

您得到的json响应应该是()

     $("#Text2").val(data.Name);
     $("#Text3").val(data.StreetNumber);
     $("#Text4").val(data.StreetName);
     $("#Text5").val(data.City);
     $("#Text6").val(data.PhoneNumber);

这是给 赋值的正确方法inputs

于 2013-04-24T18:27:18.360 回答
2

您的 JSON 已格式化,因此您需要的对象是数组的第一个元素。所以在你的成功回调中data.name,你需要做而不是做data[0].name

于 2013-04-24T18:26:14.467 回答