ホームページ  >  記事  >  バックエンド開発  >  PHPのajaxでヘッダーを取得する方法(ケース)

PHPのajaxでヘッダーを取得する方法(ケース)

墨辰丷
墨辰丷オリジナル
2018-05-16 17:22:162908ブラウズ

この記事では主にPHPのajaxでヘッダーを取得する方法を紹介します。興味のある方はぜひ参考にしてください。

1. フロントエンドページ

<!DOCTYPE html>
<html>
<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: &#39;headers.php&#39;,
data: {&#39;key&#39;:&#39;123&#39;},//如果需要字符串json方式,请使用JSON.stringify(setting.data)
type: &#39;POST&#39;,
//dataType: &#39;json&#39;,
//contentType: &#39;application/json&#39;,
//processData: true,//为true不会序列化数据
beforeSend: function () {
// layer.load(2);
},
headers: {
"token":&#39;token7758521&#39;//自定义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) == &#39;HTTP_&#39;) //前5个字符是HTTP_的进入循环
 { 
 $headers[str_replace(&#39; &#39;, &#39;-&#39;, ucwords(strtolower(str_replace(&#39;_&#39;, &#39; &#39;, substr($name, 5)))))] = $value; 
 //注释
 //substr($name, 5),从$name第5个字符向后截取
 //str_replace(&#39;_&#39;, &#39; &#39;,)下划线替换成空格
 //strtolower()全部转换为小写
 //ucwords()首字母转换为大写
 //str_replace(&#39; &#39;, &#39;-&#39;,)所有空格替换为-
 } 
 } 
 return $headers; //返回前key前5个字符是HTTP_的数组
 //return $_SERVER; //返回_SERVER数组
}

3. ヘッダーを返すページ

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. 元のヘッダー部分のデータ

["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 内容例を含むphpのget_headersとcurlの違いの詳細な説明

ファイルのアップロードとヘッダーの設定を同時に行うAjaxのjQuey Formの実装の詳細な説明

以上がPHPのajaxでヘッダーを取得する方法(ケース)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。