为什么这个JSON是未定义的?

时间:2013-12-05 01:39:50

标签: javascript jquery json

为什么在调用json.bridge_time时,此JSON未定义?

{"tunnel_time": 0,"bridge_time": 0}

如果它有所不同,这是我调用它的代码:

$.get( "http://localhost:8000/us", function(json){
console.log(json);
    $('#timeone').html(json.bridge_time + "min delay");
    $('#timetwo').html(json.tunnel_time + "min delay");
})
.fail(function(){
    alert('We can\'t get data right now! Please try again later.');
})
.done(function(){
    alert('Success!');
});

1 个答案:

答案 0 :(得分:2)

由于标头被发送,jQuery ajax可能无法将数据识别为json。您可以设置dataType $.get,以便jQuery知道期望json,或者使用已经$.getJSON设置的dataType

使用$.get

$.get('url',function(response){
   /*response  should be object now*/
},'json');/* last argument is "dataType" */

<强> See $.get() Docs

还应该考虑在服务器上为Content-Type

设置正确的application/json标头