Не правовой JSONP API – Как получить данные без параметра CALLBACK

Угловой 1.6 – JSONP бросает ИСКЛЮЧЕНИЕ, несмотря на ответ со статусом: 200 Ok для URL

Im пытается захватить некоторые данные из конечной точки JSONP. Похоже, что данные возвращаются в ответ, но Угловая, тем не менее, вызывает ошибку.

var url = "https://careers.icims.com/jobs-api/" var trustedUrl = $sce.trustAsResourceUrl(url); $http.jsonp(trustedUrl, {jsonpCallbackParam: 'jobs'}).then(function(res){ console.log(res); // this is never executed :.( }); 

Я получаю следующее сообщение об ошибке: Uncaught ReferenceError: jobs is not defined at jobs-api?jobs=angular.callbacks._0:1 где jobs относятся к моему префиксу JSONP

Однако ответ возвращает сценарий JSONP: введите описание изображения здесь

Почему это исключение выбрасывается и как его можно очистить? Я на Angular 1.6.0

One Solution collect form web for “Не правовой JSONP API – Как получить данные без параметра CALLBACK”

Не юридический API JSONP

API по этому URL-адресу не является юридическим JSONP API.

Его можно получить с опасной услугой:

 app.service("dangerousAPI", function($q) { this.get = get; function get(funcName, url) { var dataDefer = $q.defer(); window[funcName] = function(x) { dataDefer.resolve(x); } var tag = document.createElement("script"); tag.src = url; document.getElementsByTagName("head")[0].appendChild(tag); return dataDefer.promise; } }) 

Используйте на свой риск.

ДЕМО

 angular.module("app",[]) .service("dangerousAPI", function($q) { this.get = get; function get(funcName, url) { var dataDefer = $q.defer(); window[funcName] = function(x) { dataDefer.resolve(x); } var tag = document.createElement("script"); tag.src = url; document.getElementsByTagName("head")[0].appendChild(tag); return dataDefer.promise; } }) .run(function($rootScope, dangerousAPI) { var url = "https://careers.icims.com/jobs-api/"; dangerousAPI.get('jobs',url).then(function(data) { $rootScope.data = data; }) }) 
   

Dangerous API DEMO

{{data | json}}

  • Как использовать тип: «POST» в jsonp ajax call
  • Как включить JSONP для существующей службы WCF?
  • Как проверить, открыт ли порт в сети клиента / брандмауэре?
  • Как сделать простой asynchronous запрос JSONP в Angular 2?
  • Обработка ошибок запроса JSONP
  • Давайте будем гением компьютера.