2016-11-07 3 views
0

Я посылаю заголовок запроса с использованием XMLHttpRequest:Ajax setRequestHeader, я не могу получить значения на стороне сервера

liveXhr.open("GET", url, true); 
liveXhr.setRequestHeader("keychain_id", signatureKEYCHAINID); 
liveXhr.setRequestHeader("timestamp", signatureTS); 
liveXhr.setRequestHeader("signature", signature); 
liveXhr.send(); 

На моих локальных все в порядке, когда я войти:

error_log(print_r(apache_request_headers(), true)); 

I есть это:

[Host] => localhost 
[Connection] => keep-alive 
[Pragma] => no-cache 
[Cache-Control] => no-cache 
[timestamp] => 1478279032 
[signature] => abcd 
[keychain_id] => abcd 
[User-Agent] => Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 ( KHTML, like Gecko) Chrome/52.0.2743.116 Safari/537.36 
[Content-Type] => text/plain 

я могу получить значения для временной метки, подписи, keychain_id

На моем preprod сервере для того же процесса:

... 
[Access-Control-Request-Headers] => keychain_id, signature, timestamp 
... 

Я не могу получить значения временной метки, подписи, keychain_id.

Это проблема с настройкой апача или что-то еще?

+0

Когда я: error_log (print_r (apache_request_headers(), правда)); Я на стороне сервера. –

ответ

0

Попытка:

//array 
$requestHeaders = apache_request_headers(); 

//get array item by name 
$keyChainId = $requestHeaders['keychain_id']; 
$timestamp = $requestHeaders['timestamp']; 
$signature = $requestHeaders['signature']; 

//print items 
echo "- keychain_id = $keyChainId"; 
echo "\n- timestamp = $timestamp"; 
echo "\n- signature = $signature"; 

[Изменено] Попытка:

//not underscore 
liveXhr.setRequestHeader("keychainid", KEYCHAINID); 
... 
//prefix HTTP_ 
var_dump($_SERVER['HTTP_TIMESTAMP']); 
var_dump($_SERVER['HTTP_SIGNATURE']); 
var_dump($_SERVER['HTTP_KEYCHAINID']); 
+0

спасибо, но $ requestHeaders array не содержит этих ключей, это моя проблема;) –

+0

var_dump ($ _ SERVER ['HTTP_TIMESTAMP']); var_dump ($ _ SERVER ['HTTP_SIGNATURE']); var_dump ($ _ SERVER ['HTTP_KEYCHAIN_ID']); –

+0

'liveXhr.setRequestHeader (« keychainid », KEYCHAINID);' 'var_dump ($ _ SERVER ['HTTP_TIMESTAMP']); var_dump ($ _ SERVER ['HTTP_SIGNATURE']); var_dump ($ _ SERVER [ 'HTTP_KEYCHAINID']); '' –

Смежные вопросы