Angulaire JSONP retour JSON_CALLBACK n'est pas défini d'erreur
Je suis en train de récupérer les données via JSONP angulaire. J'ai été perplexe quant à pourquoi il ne fonctionne pas dans certaines situations.
J'ai réussi à le tirer de cet exemple JSONP:
https://angularjs.org/greet.php?callback=JSON_CALLBACK&nom=Brian
Mais lors de la copie d'un seau sur la S3, je reçois cette erreur:
Uncaught ReferenceError: JSON_CALLBACK is not defined
Le fichier est public et je peux y accéder très bien avec $.ajax
, mais pas $http.jsonp
J'ai essayé de changer le type MIME du fichier json à tous les éléments suivants:
- application/json
- application/javascript
- application/x-javascript
- text/plain
- text/javascript
Aucun d'entre eux m'ont permis de faire un succès de l'appel par le biais de la $http.jsonp
fonction
"Uncaught ReferenceError: JSON_CALLBACK n'est pas défini" — Votre question manque le code par défaut de la JSON_CALLBACK fonction.
OriginalL'auteur Brian | 2014-07-21
Vous devez vous connecter pour publier un commentaire.
Ok, donc c'est très étrange, mais j'ai finalement réussi à le faire fonctionner en changeant le rappel wrapper dans le JSONP de
JSON_CALLBACK(.......)
àangular.callbacks._0
parce que c'est la fonction de rappel angulaire continué à essayer de l'appeler au lieu de JSON_CALLBACK... très étrange comportement.Le
$http.jsonp
remplacera leJSON_CALLBACK
dans l'url avec laangular.callbacks.{{callbackId}}
automatiquement. Pour une raison quelconque, il a omis de le faire dans votre cas.Oui, très étrange comportement, mais vous avez sauvé ma journée quand même!
OriginalL'auteur Brian
De ne pas être en mesure de voir votre code, je peux vous montrer ce qui a fonctionné pour moi il y a quelques jours lorsque vous travaillez avec des JSONP et angulaire:
Puis dans la vue, quelque chose comme cela devrait fonctionner:
Si ce n'est pas la réponse à votre question, essayez de le copier-coller de votre code.
C'est exactement ce que je fais.
OriginalL'auteur Nader Dabit
Brian, j'ai découvert une méthode pour s'assurer qu'il détecte
?callback=JSON_CALLBACK
. Lorsque vous demandez de l'url, au lieu de mettre le tout à l'intérieur, vous pouvez l'écrire de cette façon, et il détecte 100%:OriginalL'auteur Aero Wang
Le problème est dans votre Repos, de Réponse ou de http
json
fichier sur le seau, faut être dynamique avec la obtenir(rappel) paramètre.Vous avez besoin pour détecter le paramètre de rappel et concat à la
json
pour obtenir lejsonp
.Par Exemple:
obtenir le paramètre GET "rappel" et rendre votre repos comme ceci:
OriginalL'auteur Edwin Castañeda
Suffit d'utiliser
JSONP_CALLBACK
au lieu deJSON_CALLBACK
Grâce.
OriginalL'auteur Pullat Junaid
Modifier votre réponse à partir du serveur par
au lieu de
OriginalL'auteur Mise