API de recherche Bing utilisant Jsonp ne fonctionne pas, étiquette non valide

En luttant avec la requête de Bing (recherche bing, pas de carte), je reçois une erreur qui dit «label invalide»

Mon url de requête est:

var bingurl="http://api.search.live.net/json.aspx?Appid=##APIKEY##&query=Honda&sources=web"; $.ajax({ type: "GET", url: bingurl, data: "{}", contentType: "application/json; charset=utf-8", dataType: "jsonp", success: function(data) { $callBack(data); }, error: function(msg) { alert("error" + msg); } }); 

Firebug signale une étiquette non valide et supprime la réponse de json.

Aucune idée de ce qui ne va pas? Aide appréciée.

L'URL de l'API Bing que vous avez posté n'est pas JSONP, c'est JSON.

JSONP est interprété comme un JavaScript brut, auquel cas la syntaxe d'un objet JSON {"something": ... n'est pas un objet littéral, mais une instruction de bloc avec une étiquette dont le nom contient des citations (d'où l'invalidité).

Comme je l'ai bien compris , si vous voulez que JSONP de Bing, vous devez lui dire qu'en passant des paramètres ...&JsonType=callback&JsonCallback= (nom de la fonction de rappel global).

(Je ne suis pas sûr de ce que les data: "{}" feront, mais je ne pense rien de bon.)

Juste dans l'esprit de tenir les choses à jour, la nouvelle API Bing REST prend en charge jsonp, il suffit de s'assurer que le paramètre "callback" est "jsonp". Dans jQuery, il suffit de modifier l'attribut jsonp dans votre appel $ .ajax () à "jsonp" pour que cela fonctionne.

 $.ajax({ url: 'http://some.domain.com', dataType: 'jsonp', jsonp: 'jsonp' });`