我试图通过JSONP向下拉数据.我一直很疑惑为什么它在某些情况下不起作用.
我已经成功地提取了这个示例JSONP:
https://angularjs.org/greet.php?callback=JSON_CALLBACK&name=Brian
但是当在S3上复制到存储桶时,我不断收到此错误:
Uncaught ReferenceError: JSON_CALLBACK is not defined
该文件是公共的,我可以很好地访问它$.ajax
,但不是$http.jsonp
我已经尝试将json文件的MIME类型更改为以下所有内容:
他们都没有让我通过这个$http.jsonp
功能成功打电话
好了,这是很奇怪,但我最终得到它通过改变JSONP回调包装,从工作JSON_CALLBACK(.......)
到angular.callbacks._0
,因为这是回调函数的角度一直试图调用,而不是JSON_CALLBACK ......非常怪异的行为.
由于无法看到您的代码,我可以向您展示几天前在使用 JSONP 和 Angular 时对我有用的内容:
controller('YourCtrl', ['$scope', '$http', function($scope, $http) {
var url = "https://angularjs.org/greet.php?callback=JSON_CALLBACK&name=Brian"
$http.jsonp(url)
.success(function(data) {
$scope.greeting = data;
});
}])
Run Code Online (Sandbox Code Playgroud)
然后在视图中,类似这样的事情应该起作用:
<div ng-controller="YourCtrl">
{{greeting.name}} <br />
{{greeting.salutation}}
</div>
Run Code Online (Sandbox Code Playgroud)
如果这不能回答您的问题,请尝试粘贴您的代码。
归档时间: |
|
查看次数: |
13840 次 |
最近记录: |