我已经对这个问题进行了大量研究,希望有人可以帮助诊断出错了。
我已经尝试过查看以下SO问题:(由于声誉,我不会发布超过2个链接,所以我只是包括在内路径)
其他许多人......
我尝试过的事情: 我已将& callback = JSON_CALLBACK 添加到网址的末尾。我更改了配置设置,例如 responseType:' JSON' 。我还多次重新安排了http.jsonp请求,以确保它不是编程/文本( http({})& http.jsonp )
以下是我要做的事情: 使用角度jsonp请求从 routingnumbers.info/api / 获取信息(服务器不允许CORS)。我能够使用jQuery成功地提出请求,但我无法使用angular成功完成请求。
以下是相应的测试小提琴: http://jsfiddle.net/dqcpa/14/
如您所见,我收到两个错误:
但是如果你检查chrome devtools中的响应 - NETWORK,那是正确的:虽然我知道jsonp会在jsonpfunction中返回响应({" MyJson": "数据"})这是它被挂起的地方。
以下是原始代码:
//$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的内容
TL:DR - Angular JSONP请求不起作用,但是使用相同的URL,jQuery JSONP请求正在运行。参考上面的代码,我错过了什么?
任何帮助都会很棒!
编辑:一些标点和内容。
答案 0 :(得分:6)
根据这个问题:
How to get rid of Uncaught SyntaxError: Unexpected token :尝试在服务器端json调用周围添加angular.callbacks._0 (JSON)
。它对我有用