我正在使用ajax请求以及以下函数调用。
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 :(得分:2)
它以字符串形式返回。使用data = $.parseJSON(data);
将其转换为JS结构。或者,您可以在发出JSON时在服务器端设置Content-type: application/json
标头
答案 1 :(得分:1)
如果您确定ajax请求的返回类型始终为json
,那么您可以将dataType: 'json'
设置为ajax选项。
例如:
$.ajax({
url: '',
dataType: 'json',
....
})