javascript – AngularJS:装饰$http

前端之家收集整理的这篇文章主要介绍了javascript – AngularJS:装饰$http前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个简单的控制器,如:
function MyController($scope,$http) {
    ...
    $http.post(url).success(function(data) {
            console.log(data)
         });
}
MyController.$inject = ['$scope','$http'];

一切都按预期工作,但我有一个问题.出于安全原因,返回的JSON用/ ** * /注释.使用jQuery,我扩展了$.ajax对象以删除此注释,然后解析结果.我想用AngularJS实现同样的目的,并以某种方式告诉$http来删除每个响应中的注释.我想为我的整个应用程序执行此操作,并避免键入始终相同.

我有什么想法可以做到这一点?

解决方法

您将要转换所有$http响应.我之前没有这样做,但相关文档如下.

Transforming Requests and Responses

Both requests and responses can be transformed using transform
functions. By default,Angular applies these transformations:

Request transformations:

  • if the data property of the request config object contains an object,
    serialize it into JSON format.

Response transformations:

  • if XSRF prefix is detected,strip it (see Security Considerations
    section below)
  • if json response is detected,deserialize it using a
    JSON parser

To override these transformation locally,specify
transform functions as transformRequest and/or transformResponse
properties of the config object. To globally override the default
transforms,override the $httpProvider.defaults.transformRequest and
$httpProvider.defaults.transformResponse properties of the
$httpProvider.

阅读$http service documentation.中的更多内容

原文链接:https://www.f2er.com/js/150824.html

猜你在找的JavaScript相关文章