js 中ajax請求時設置 http請求頭中的x-requestd-with= ajax


今天發現 AngularJS 框架的$http服務提供的$http.get() /$http.post()的ajax請求中沒有帶 x-requested-with字段。

這樣的話,后端的php 就無法判斷 接受的http請求是否是 ajax請求了。

怎么辦呢,顯然就是給http 請求頭中 加上這個字段就可以了。

1、AngularJS 中可以這樣子

I don't know well MVC3 but you can set a custom header for all request from AngularJS.

Then on server side you just have to get this header and do what you want with request from angular.

To have custom header in AngularJS just do this :

angular.module('myModule', [])

    .config(['$httpProvider', function($httpProvider) {

        $httpProvider.defaults.headers.common["FROM-ANGULAR"] = "true";

    }])

  

For use the X-Requested-With you have to do this too :

$httpProvider.defaults.headers.common["X-Requested-With"] = 'XMLHttpRequest';

  It's not set by default anymore because a lot part of the community have to delete this header to enable CORS request

 

2、JQuery 的 ajax方法同樣提供了設置 http請求頭的方法;

<html>
<head>
    <script src="./js/libs/jquery/jquery-1.11.2.min.js"></script>
</head>
<body>
<script>
    window.onload= function(){
        alert('123  ');
        $.ajax({
            beforeSend : function (XMLHttpRequest) {
                XMLHttpRequest.setRequestHeader("aadfasdfsdfasdsasasdcccc","ajax");
            },
            url: "test.html",
            context: document.body
        })
    }

</script>
</body>
</html>

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM