2012-03-07 42 views
1

我有这个url其带回雅虎的时间...即时猜测的PST为什么不能我得到的JSON对象进行URL的

,所以我需要得到的JavaScript这个值...这里是我的代码

$j.ajax({ 
    type: "GET", 
    url: "http://developer.yahooapis.com/TimeService/V1/getTime?appid=YahooDemo&output=json", 
    dataType: "jsonp", 
    complete: function(data){ 
     console.log(data); 
     } 
    }); 

,但我似乎无法拔出该时间戳了JSON的......我在做什么错

回答

2

我想你想使用的success回调:

$j.ajax({ 
    type: "GET", 
    url: "http://developer.yahooapis.com/TimeService/V1/getTime?appid=YahooDemo&output=json", 
    dataType: "jsonp", 
    success: function(data,status,xhr){ 
     console.log(data.Result.Timestamp); 
     } 
    });​ 
1

的JSON看起来像{"Result":{"Timestamp":1331089290}}。也就是说,所谓的Result对象属性,这是另一个对象常量,其中包含属性Timestamp

// Use .success rather than .complete 
success: function(data){ 
    console.log(data.Result.Timestamp); 
} 
+0

这是错误的。 'complete'回调接收XHR对象,而不是响应收到的数据。无论XHR是否成功,“完成”回叫**总是**。也许你打算用'成功'。 – Strelok 2012-03-07 03:07:38

+0

@Strelok这已被编辑... – 2012-03-07 03:08:12

+0

不当我读它。没问题。 – Strelok 2012-03-07 03:09:36

5

您使用的是complete方法,该方法返回XHR对象,而不是结果。
你想success

$j.ajax({ 
    type: "GET", 
    url: "http://developer.yahooapis.com/TimeService/V1/getTime?appid=YahooDemo&output=json", 
    dataType: "jsonp", 
    success: function(data){ 
     console.log(data.Response.Timestamp); 
    } 
}); 

来源:http://api.jquery.com/jQuery.ajax/

0

的javascript:

//change 
dataType: "jsonp", 
//to 
dataType: "json", 

然后将解压后的T imestamp与data.Result.Timestamp

当您使用该值时,请记住,UNIX时间戳记以秒为单位,而javascript Date对象以毫秒为单位。

相关问题