09/02/25 22:03:45
ajax.requestでヘッダ情報の書き換えがうまくできません。
下のJavaScriptのようにして「Referer」や「HTTP_USER_AGENT」を書き換えて渡したいのですが、サーバ側に渡される値は
実行環境がそのまま渡されてしまいます。どのようにしたらRequestHeaderを書き換えられますでしょうか?
■HTML側でprototype1.6.0.3を使ってPHPの出力を表示
<html><head><title>test</title><meta http-equiv="Content-Script-Type" content="text/javascript">
<script type="text/javascript" src="./prototype.js"></script>
<script type="text/javascript">
function test(){
var url = 'URLリンク(www.test.com)';
var myAjax = new Ajax.Request( url, {
method: 'post',
requestHeaders: ["Referer","URLリンク(www.yahoo.co.jp)","HTTP_USER_AGENT","aaaaaa"],
parameters: '',
onComplete: showResponse
});
}
function showResponse(originalRequest){
document.getElementById("idName").innerHTML = originalRequest.responseText;
}
</script>
</head><body><p id="idName">テスト</p>
<input id="elementID" type="button" value="ボタン" onclick="test();">
</body></html>
■PHP側ソースでメソッド・USER_AGENT名・Refererを出力しています。
<?php
echo $_SERVER['REQUEST_METHOD']."<br>";
echo $_SERVER['HTTP_USER_AGENT']."<br>";
echo $_SERVER['HTTP_REFERER']."<br>";
?>