php获取ajax的headers方法与内容实例

下面小编就为大家分享一篇php获取ajax的headers方法与内容实例,具有很好的参考价值,希望对大家有所帮助,一起跟随小编过来看看吧。

1.前端页面

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml" xml: >
  3. <head>
  4. <title>Cross-Browser QRCode generator for Javascript</title>
  5. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
  6. <meta name="viewport" content="width=device-width,initial-scale=1,user-scalable=no" />
  7. <script type="text/javascript" src="jquery.min.js"></script>
  8. <script type="text/javascript" src="qrcode.js"></script>
  9. </head>
  10. <body>
  11. <button class="suning">点击</button>
  12. <script type="text/javascript">
  13. $(".suning").click(function(){
  14. $.ajax({
  15. url: 'headers.php',
  16. data: {'key':'123'},//如果需要字符串json方式,请使用JSON.stringify(setting.data)
  17. type: 'POST',
  18. //dataType: 'json',
  19. //contentType: 'application/json',
  20. //processData: true,//为true不会序列化数据
  21. beforeSend: function () {
  22. // layer.load(2);
  23. },
  24. headers: {
  25. "token":'token7758521'//自定义token及值
  26. },
  27. success: function (responseData) {
  28. console.log(responseData);
  29. },
  30. error: function (error) {
  31. console.log(error);
  32. }
  33. });
  34. });
  35. </script>
  36. </body>

2.php页面

  1. <?php
  2. $arr = get_getallheaders();//获取http头数组
  3. //echo $arr["Token"];//输出Token
  4. var_dump($arr);//输出整个数组
  5. function get_getallheaders() //定义方法
  6. {
  7. foreach ($_SERVER as $name => $value) //循环_SERVER数组
  8. {
  9. if (substr($name, 0, 5) == 'HTTP_') //前5个字符是HTTP_的进入循环
  10. {
  11. $headers[str_replace(' ', '-', ucwords(strtolower(str_replace('_', ' ', substr($name, 5)))))] = $value;
  12. //注释
  13. //substr($name, 5),从$name第5个字符向后截取
  14. //str_replace('_', ' ',)下划线替换成空格
  15. //strtolower()全部转换为小写
  16. //ucwords()首字母转换为大写
  17. //str_replace(' ', '-',)所有空格替换为-
  18. }
  19. }
  20. return $headers; //返回前key前5个字符是HTTP_的数组
  21. //return $_SERVER; //返回_SERVER数组
  22. }

3.php页面返回的headers

  1. array(11) {
  2. ["Cookie"]=>
  3. string(94) "Hm_lvt_f62fa14829605f0d29c05da9c30e045a=1503649309,1503884728; _ga=GA1.1.1091059248.1504832863"
  4. ["Accept-Language"]=>
  5. string(14) "zh-CN,zh;q=0.8"
  6. ["Accept-Encoding"]=>
  7. string(17) "gzip, deflate, br"
  8. ["Referer"]=>
  9. string(62) "http://localhost/DianNaoBengKuiFangYunDuan/qrcode/headers.html"
  10. ["Token"]=>//自定义token及值
  11. string(12) "token7758521"
  12. ["X-Requested-With"]=>
  13. string(14) "XMLHttpRequest"
  14. ["Accept"]=>
  15. string(3) "*/*"
  16. ["User-Agent"]=>
  17. string(110) "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 Safari/537.36"
  18. ["Origin"]=>
  19. string(16) "http://localhost"
  20. ["Connection"]=>
  21. string(5) "close"
  22. ["Host"]=>
  23. string(9) "localhost"
  24. }

4.原始的headers部分数据

  1. ["HTTP_COOKIE"]=>
  2. string(94) "Hm_lvt_f62fa14829605f0d29c05da9c30e045a=1503649309,1503884728; _ga=GA1.1.1091059248.1504832863"
  3. ["HTTP_ACCEPT_LANGUAGE"]=>
  4. string(14) "zh-CN,zh;q=0.8"
  5. ["HTTP_ACCEPT_ENCODING"]=>
  6. string(17) "gzip, deflate, br"
  7. ["HTTP_REFERER"]=>
  8. string(62) "http://localhost/DianNaoBengKuiFangYunDuan/qrcode/headers.html"
  9. ["HTTP_TOKEN"]=>//自定义token及值
  10. string(12) "token7758521"
  11. ["HTTP_X_REQUESTED_WITH"]=>
  12. string(14) "XMLHttpRequest"
  13. ["HTTP_ACCEPT"]=>
  14. string(3) "*/*"
  15. ["HTTP_USER_AGENT"]=>
  16. string(110) "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 Safari/537.36"
  17. ["HTTP_ORIGIN"]=>
  18. string(16) "http://localhost"
  19. ["CONTENT_LENGTH"]=>
  20. string(1) "7"
  21. ["HTTP_CONNECTION"]=>
  22. string(5) "close"
  23. ["HTTP_HOST"]=>
  24. string(9) "localhost"