2010-10-11 6 views
0

J'essaie d'obtenir des données json à partir d'un URL. Url fonctionne bien dans FF. J'essaye le code comme cecigetJSON et étiquette invalide

$.getJSON("http://testsite.com/1234/?callback=?", function(data){ 
     //here i am getting invalid label error** 
    } 
); 

Quand j'essaye sans le rappel =? Je reçois des données vides

$.getJSON("http://testsite.com/1234/", function(data){ 
      //here i am data = "" 
     } 
    ); 

Ce qui ne va pas?

Répondre

4

Il semble que le site que vous aller chercher de ne supporte pas JSONP, avec cette URL:

http://testsite.com/1234/?callback=? 

Il est essayer d'utiliser JSONP, mais le serveur renvoie une réponse JSON simple (non enveloppé dans une fonction).

Avec cette URL:

http://testsite.com/1234/ 

Il ne cherche pas JSONP du tout, et être bloqué par le same-origin policy.


Pour récupérer des données à partir d'un domaine distant, il doit prendre en charge JSONP afin qu'il puisse être saisi d'une requête GET, vous devrez soit ajouter le support à ce domaine, ou proxy la demande par l'intermédiaire de votre propre .

+0

Oui, il montre uniquement les données json. Mais dans FF, l'url fonctionne bien. J'ai besoin que cet objet json soit retourné dans une variable. – coure2011

+0

@ coure06 - La réponse * n'est pas * ok, c'est le point, vous obtenez '{... data ...}' ce que vous * devez * obtenir est 'functionName ({... data .. .}) ', le serveur ne renvoie pas cela, donc vous obtenez une erreur de syntaxe d'étiquette invalide. –

+0

Comment "proxy la demande" par le mien? – coure2011