JsonP返回"Uncaught SyntaxError:Unexpected token:"AngularJS - routingnumbers.info

dan*_*paz 18 jquery json jsonp angularjs angular-http

我研究这个问题是一个荒谬的数字,并希望有人可以帮助诊断出错了什么.

我已经尝试过查看以下SO问题:(因为声誉,所以我不会发布超过2个链接,所以我只是包含了这些路径)

  1. 问题/ 16344933/angularjs-JSONP - 不工作/ 16352746#16352746
  2. 问题/ 19269153/JSONP请求功能于angularjs-犯规工作样的-的jQuery
  3. 问题/ 19669044/angularjs-越来越语法错误 - 在 - 返回 - JSON-从-HTTP-JSONP

在众多......

我尝试过的事情: 我已经在网址的末尾添加了&callback = JSON_CALLBACK.我更改了配置设置,例如responseType:'JSON'.我还多次重新安排了http.jsonp请求,以确保它不是编程/文本(http({})和http.jsonp)

这是我正在尝试做的事情:使用角度jsonp请求 从routingnumbers.info/api/获取信息(服务器不允许CORS).我能够使用jQuery成功地提出请求,但我无法使用angular成功.

这是相应的测试小提琴: http ://jsfiddle.net/dqcpa/14/

如您所见,我收到两个错误:

  1. 资源解释为脚本但使用MIME类型text/plain传输:" https://routingnumbers.herokuapp.com/api/data.json?rn=071000013&callback=angular.callbacks._0 ".angular.min.js:97
  2. 未捕获的SyntaxError:意外的令牌:

但是如果你检查chrome devtools中的响应 - NETWORK,它是正确的:虽然我知道jsonp会返回jsonpfunction({"MyJson":"Data"})里面的响应,这是它被挂起的地方.

这是原始代码:

//$scope.number = '071000013';
var routingApiUrl = 'https://routingnumbers.herokuapp.com/api/data.json?rn=' + $scope.number;
$http({
    method: 'jsonp',
    url: routingApiUrl + '&callback=JSON_CALLBACK',
    responseType: "json"
}).
success(function(data){
    console.log('Success: ' + data);
}).
error(function(data){
    console.log('Error: ' + data);
});
Run Code Online (Sandbox Code Playgroud)

有没有人使用这个角度的API?我假设我可以做一些事情(没有jquery)来修改标题,但我一直无法找到任何信息.我也认为它可能是一个服务器问题(虽然,如果它在jquery中正常工作,那不会是问题).也许这可能是HTTPS的东西

TL:DR - Angular JSONP请求不起作用,但是使用相同的URL,jQuery JSONP请求正在运行.参考上面的代码,我错过了什么?

任何帮助都是极好的!

编辑:一些标点符号和东西.

Ray*_*vie 6

根据这个问题: 如何摆脱Uncaught SyntaxError:意外的令牌:尝试添加angular.callbacks._0 (JSON)你的服务器端json调用.它对我有用

这是一个吸血鬼http://plnkr.co/edit/oX2UQRBA41FIHpwAP6AA