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


Posted in PHP onDecember 27, 2017

1.前端页面

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ko" lang="ko">
<head>
<title>Cross-Browser QRCode generator for Javascript</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta name="viewport" content="width=device-width,initial-scale=1,user-scalable=no" />
<script type="text/javascript" src="jquery.min.js"></script>
<script type="text/javascript" src="qrcode.js"></script>
</head>
<body>
<button class="suning">点击</button>
<script type="text/javascript">
$(".suning").click(function(){
$.ajax({
url: 'headers.php',
data: {'key':'123'},//如果需要字符串json方式,请使用JSON.stringify(setting.data)
type: 'POST',
//dataType: 'json',
//contentType: 'application/json',
//processData: true,//为true不会序列化数据
beforeSend: function () {
// layer.load(2);
},
headers: {
"token":'token7758521'//自定义token及值
},
success: function (responseData) {
console.log(responseData);
},
error: function (error) {
console.log(error);
}
});
});
</script>
</body>

2.php页面

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

3.php页面返回的headers

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

4.原始的headers部分数据

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

以上这篇php获取ajax的headers方法与内容实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

PHP 相关文章推荐
论坛头像随机变换代码
Oct 09 PHP
给php新手谈谈我的学习心得
Feb 25 PHP
PHP的变量类型和作用域详解
Mar 12 PHP
PHP四种基本排序算法示例
Apr 09 PHP
php截取指定2个字符之间字符串的方法
Apr 15 PHP
Zend Framework教程之Zend_Form组件实现表单提交并显示错误提示的方法
Mar 21 PHP
php+ajax+json 详解及实例代码
Dec 12 PHP
php curl常用的5个经典例子
Jan 20 PHP
利用PHP如何统计Nginx日志的User Agent数据
Mar 06 PHP
thinkphp5框架实现的自定义扩展类操作示例
May 16 PHP
在laravel中实现事务回滚的方法
Oct 10 PHP
php+laravel依赖注入知识点总结
Nov 04 PHP
PHP实现求连续子数组最大和问题2种解决方法
Dec 26 #PHP
PHP基于双向链表与排序操作实现的会员排名功能示例
Dec 26 #PHP
thinkphp5 URL和路由的功能详解与实例
Dec 26 #PHP
php-msf源码详解
Dec 25 #PHP
关于 Laravel Redis 多个进程同时取队列问题详解
Dec 25 #PHP
源码分析 Laravel 重复执行同一个队列任务的原因
Dec 25 #PHP
浅析PHP中的闭包和匿名函数
Dec 25 #PHP
You might like
php empty函数判断mysql表单是否为空
2010/04/12 PHP
如何使用PHP计算上一个月的今天
2013/05/23 PHP
php+ajax无刷新上传图片的实现方法
2016/12/06 PHP
PDO::_construct讲解
2019/01/27 PHP
解决jquery的datepicker的本地化以及Today问题
2012/05/23 Javascript
Js操作Select大全(取值、设置选中等等)
2013/10/29 Javascript
js简单的弹出框有关闭按钮
2014/05/05 Javascript
js实现点击图片改变页面背景图的方法
2015/02/28 Javascript
javascript中setInterval的用法
2015/07/19 Javascript
JavaScript函数内部属性和函数方法实例详解
2016/03/17 Javascript
Boostrap实现的登录界面实例代码
2016/10/09 Javascript
Vue axios 中提交表单数据(含上传文件)
2017/07/06 Javascript
使用vue打包进行云服务器上传的问题
2020/03/02 Javascript
[08:04]TI4西雅图DOTA2前线报道 海涛探访各路人马
2014/07/09 DOTA
[58:15]2018DOTA2亚洲邀请赛 4.1 小组赛 A组 NB vs Liquid
2018/04/02 DOTA
python使用pil生成缩略图的方法
2015/03/26 Python
在Python的Flask框架中使用日期和时间的教程
2015/04/21 Python
Bottle框架中的装饰器类和描述符应用详解
2017/10/28 Python
pandas apply 函数 实现多进程的示例讲解
2018/04/20 Python
pycharm重置设置,恢复默认设置的方法
2018/10/22 Python
Python中字符串String的基本内置函数与过滤字符模块函数的基本用法
2019/05/27 Python
Django框架静态文件使用/中间件/禁用ip功能实例详解
2019/07/22 Python
最新党员的自我评价分享
2013/11/04 职场文书
《商鞅南门立木》教学反思
2014/02/16 职场文书
婚前协议书
2014/04/15 职场文书
投标服务承诺书
2014/05/28 职场文书
欢迎横幅标语
2014/06/17 职场文书
小学清明节活动总结
2014/07/04 职场文书
政协会议宣传标语
2014/10/09 职场文书
买房子个人收入证明
2014/10/12 职场文书
会计专业求职信范文
2015/03/19 职场文书
文艺演出主持词
2015/07/01 职场文书
忠诚教育学习心得体会
2016/01/23 职场文书
Python 流媒体播放器的实现(基于VLC)
2021/04/28 Python
TensorFlow中tf.batch_matmul()的用法
2021/06/02 Python
Go Grpc Gateway兼容HTTP协议文档自动生成网关
2022/06/16 Golang