JsonP返回“Uncaught SyntaxError:Unexpected token:”AngularJS - routingnumbers.info如何解决?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (1)
  • 关注 (0)
  • 查看 (53)

我研究过这个问题的数量很可笑,希望有人能帮助诊断出什么问题。

我尝试过的东西: 我已将&callback = JSON_CALLBACK添加到网址的末尾。我已经更改了配置设置,如responseType:'JSON'。我也重新安排了http.jsonp请求多次,以确保它不是程序化/文本(http({})&http.jsonp

以下是我想要做的:使用角度jsonp请求(服务器不允许CORS) 从routingnumbers.info/api/获取信息。我可以用jQuery成功完成请求,但我无法使用angular成功完成。

这里是相应的测试fiddle: http : //jsfiddle.net/dqcpa/14/

正如你所看到的,我收到两个错误:

  1. Resource interpreted as Script but transferred with MIME type text/plain: "https://routingnumbers.herokuapp.com/api/data.json?rn=071000013&callback=angular.callbacks._0". angular.min.js:97
  2. Uncaught SyntaxError: Unexpected token :

但是,如果你在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);
});

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

Angular JSONP请求不起作用,但使用相同的URL,jQuery JSONP请求正在工作。参考上面的代码,我错过了什么?

提问于

扫码关注云+社区