Sha*_*man 16 javascript jsonp angularjs
看起来几乎每个关于$ http或angularjs的问题或解释都假定您可以修改请求的响应.我不能这样做,我得到的反应是错误的(根据AngularJS解析器).它以一致的方式出错,因此我可以在解析之前修改纯文本以解决问题,但是在默认(基于内容类型的?)解析之后,响应拦截器和转换响应函数都会发生.
编辑:问题在于我需要使用JSONP方法来从另一个站点请求信息,但数据没有预期的JSONP回调所以(我仍然不确定它是否基于浏览器)在内容或AngularJS代码上)抛出语法错误.
新问题:有没有人知道解决这个问题的方法?
这已经过测试并且确实有效.如果您有任何其他问题,请与我们联系.http://jsfiddle.net/moderndegree/Kn3Tc/
HTML
<div ng-app="myApp">
<div ng-controller="myController">
{{results.tada}}
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
使用Javascript
angular.module('myApp', ['ngResource']).
factory('myService', function($http, $resource, $log){
return $resource('/', {}, {
get: {
method: 'GET',
// placed custom transform ahead of $http default
transformRequest: [function(data, headersGetter){
$log.info(data);
$log.info(headersGetter());
}].concat($http.defaults.transformRequest),
// placed custom transform ahead of $http default
transformResponse: [function (data, headersGetter) {
$log.info(data);
$log.info(headersGetter());
data = {tada:"Check your console"};
return data;
}].concat($http.defaults.transformResponse)
}
});
}).
controller('myController', function(myService, $scope) {
$scope.results = myService.get();
});
Run Code Online (Sandbox Code Playgroud)
更新 要使用JSONP,只需将方法切换到JSONP.您可以在此处阅读有关ngResource的更多信息.
归档时间: |
|
查看次数: |
1722 次 |
最近记录: |