2012-03-07 4 views
1

Je possède ce url qui ramène le temps de yahoo ... im devinant PSTpourquoi je ne peux pas obtenir l'objet JSON sur l'url

donc je dois obtenir cette valeur avec javascript ... voici mon Code

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

mais je ne peux pas semblent sortir que Horodatage de la JSON ... ce que je fais mal

Répondre

2

Je pense que vous voulez utiliser le success rappel:

$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

le JSON ressemble {"Result":{"Timestamp":1331089290}}. C'est une propriété d'objet appelé Result, qui est un autre littéral d'objet contenant la propriété Timestamp:

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

Ceci est incorrect. Le rappel 'complete' reçoit l'objet XHR, pas les données reçues par la réponse. Le rappel 'complete' ** se déclenche toujours, que le XHR réussisse ou non. Peut-être que vous vouliez utiliser le «succès». – Strelok

+0

@Strelok Cela a déjà été modifié ... –

+0

Pas quand je l'ai lu. Aucun problème. – Strelok

5

Vous utilisez la méthode complete, qui retourne l'objet XHR, pas le résultat.
Vous voulez 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); 
    } 
}); 

Source: http://api.jquery.com/jQuery.ajax/

0

javascript:

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

extrait ensuite le t imestamp avec data.Result.Timestamp. Lorsque vous utilisez la valeur, n'oubliez pas que l'horodatage UNIX est en secondes alors que l'objet Date javascript fonctionne en millisecondes.

Questions connexes