Php 服务器端的空白自定义请求头
我使用ajax jquery发送请求头,如下所示Php 服务器端的空白自定义请求头,php,jquery,apache2,Php,Jquery,Apache2,我使用ajax jquery发送请求头,如下所示 $.ajax({ url: "http://www.example.com/index.php", dataType: "json", type: "GET", beforeSend: function(xhr) { xhr.setRequestHeader("X_REST_USERNAME", "XXXX"); xhr.setRequestHeader("X_REST_PASSWO
$.ajax({
url: "http://www.example.com/index.php",
dataType: "json",
type: "GET",
beforeSend: function(xhr) {
xhr.setRequestHeader("X_REST_USERNAME", "XXXX");
xhr.setRequestHeader("X_REST_PASSWORD", "XXXX");
console.log(xhr);
},
success: function(data, textStatus, XMLHttpRequest) {
alert(data);
},
error: function(XMLHttpRequest, textStatus, errorThrown) {
console.log(XMLHttpRequest);
}
});
我可以在firebug中看到上面的请求头,但在php页面的服务器端,当我尝试访问以下变量时,它会给我blank
,我尝试在php中转储和打印变量,但没有任何条目
$_SERVER['HTTP_X_REST_USERNAME']
$_SERVER['HTTP_X_REST_PASSWORD']
对于apache,请使用
只是一个预感,添加
console.log(xhr.setRequestHeader(“X_REST_用户名”,“XXXX”);
看看会有什么结果?使用谷歌chrome开发者工具包来监控请求。您是否定义了$_服务器['HTTP_X_REST_用户名]和$_服务器['HTTP_X_REST_密码]?定义在哪里?是的,我正在尝试访问它$_服务器['HTTP_X_REST_用户名]]而像这样只使用HTTP prifix的$\u服务器['HTTP\U X\U REST\U PASSWORD']在默认情况下,$\U POST、$\U GET和$\U COOKIE的内容填充了$\U请求。请求头不可能出现在该数组中。它不是<代码>$\U GET['X\U REST\U USERNAME']?他发送了一个正确的GET请求..?如果您使用标题,您不能使用登录网站吗?
$_REQUEST['X_REST_USERNAME'];
$_REQUEST['X_REST_PASSWORD'];
$headers = apache_request_headers();
echo $headers['X_REST_USERNAME'];
echo $headers['X_REST_PASSWORD'];