example javascript angularjs request jsonp

javascript - example - request post angularjs



AngularJS Untaught SyntaxError: token inesperado: (1)

De acuerdo, intenté varios intentos y nada está funcionando

Verificó las siguientes respuestas

  1. preguntas / 26262235 / jsonp-returning-uncaught-syntaxerror-unexpected-token-angularjs-routingnu

  2. preguntas / 16344933 / angularjs-jsonp-not-working / 16352746 # 16352746

  3. preguntas / 19269153 / jsonp-request-in-angularjs-doesnt-work-like-in-jquery

  4. preguntas / 19669044 / angularjs-getting-syntax-error-in-returned-json-from-http-jsonp

Y ninguno de ellos resolvió mi problema.

Me gustaría utilizar API Giant Bombs: http://www.giantbomb.com/api/

Sí, eché un vistazo a las publicaciones del foro, nada funciona.

$http({ method: ''JSONP'', url: ''http://www.giantbomb.com/api/game/3030-4725/'', params: { api_key: $rootScope.api_key, format: ''jsonp'', callback: ''JSON_CALLBACK'' } }).then(function (data) { $scope.data = data; console.log($scope.data) });

Error

Uncaught SyntaxError: Unexpected token :

¿Podría alguien darme una pista?

Debido a que es realmente frustrante, incluso envolví los datos con el mismo resultado de JSON_CALLBACK ()


La razón de esto es que angular requiere servicio devuelve jsonp, pero no lo hace

Tu código hace esta solicitud:

http://www.giantbomb.com/api/game/3030-4725/?json_callback=angular.callbacks._0&format=jsonp

Y en la consola de red puede ver la respuesta:

{"error":"''jsonp'' format requires a ''json_callback'' arguement","limit":0,"offset":0,"number_of_page_results":0,"number_of_total_results":0,"status_code":103,"results":[]}

así que el parámetro para la devolución de llamada debería llamarse: json_callback, no solo callback.

$http({ method: ''JSONP'', url: ''http://www.giantbomb.com/api/game/3030-4725/'', params: { format: ''jsonp'', json_callback: ''JSON_CALLBACK'' } })

Después de eso, puedo ver un error de respuesta sobre la clave de la API. Probablemente esté bien en tu caso. Así que lo pospondré, obtendrás el JSONP correcto

http://www.giantbomb.com/api/game/3030-4725/?json_callback=angular.callbacks._0&format=jsonp {"error":"Invalid API Key","limit":0,"offset":0,"number_of_page_results":0,"number_of_total_results":0,"status_code":100,"results":[]}

El otro problema sería que su función en ese momento no obtiene los datos directamente, sino la respuesta, que son los objetos que transportan datos, así que:

.then(function (response) { $scope.data = response.data; console.log(response.data) });

La última recomendación, no use $ scope en los controladores, más bien use la sintaxis de "controlador como".