2013-05-01 122 views
1

我正在使用ajax请求以下调用函数。阿贾克斯返回,JSON数据

var test = initBuild(id); 
    test.success(function (data){ 
    console.log(data); 
}); 

data被退回的样子

{"built_when":{"id":"43701","clientId":"245","name":"Big Ass Gallery","productId":"0","desc":null,"bgColor":"#000000","fontColor":"ffffff","sort":"43701","clientRef":"205","isFeatured":"0","created":"1367356190","views":"0","finish":"0","isArchive":"0","showMailShare":"0","hardPageFlip":"0","hardCoverFlip":"0","isTemp":"0","agreement":"0","maxChange":"0","countChange":"0","verticalFlip":"0","musicSwitch":"0","showFbShare":"0","twitter":null,"email":"0","pageHeight":"1000","pageWidth":"1391"}} 

我试图通过data.built_when.id访问,但它返回null。这件事我错过了什么。

谢谢

+0

你有没有分析的数据转换成一个对象?尝试'var dataObject = JSON.parse(data)'如果不是。 – giaour 2013-05-01 02:59:22

回答

1

如果你是肯定Ajax请求的返回类型为始终json那么你可以设置dataType: 'json'给Ajax选项,你可以设置在服务器端的Content-type: application/json头。

例:

$.ajax({ 
    url: '', 
    dataType: 'json', 
    .... 
}) 
2

它作为字符串返回。使用data = $.parseJSON(data);将其转换为JS结构。或者,当你发出JSON

+2

或在ajax选项中设置'dataType:'json'' – 2013-05-01 03:02:09

+0

@ArunPJohny - 感谢您捕捉我的错误! – Bungdaddy 2013-05-01 03:05:24

+0

@Explosion Pills - 谢谢你的回答。完美的作品。将数据类型添加到函数中,并以此方式处理它。应该已经发布了该功能。 – Bungdaddy 2013-05-01 03:07:00