为什么我不能从网址中获取json对象

时间:2012-03-07 02:58:40

标签: javascript jquery json web-services

我有这个url带回雅虎的时间......我猜这个PST

所以我需要用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中拉出来......我做错了什么

4 个答案:

答案 0 :(得分: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/

答案 1 :(得分: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);
      }
  });​

答案 2 :(得分:1)

JSON看起来像{"Result":{"Timestamp":1331089290}}。也就是说,一个名为Result的对象属性,它是另一个包含属性Timestamp的对象文字:

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

答案 3 :(得分:0)

的javascript:

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

然后使用data.Result.Timestamp提取时间戳。

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