Jqueryまたは一般的なJavaScriptを使用して、http ajax呼び出しのヘッダーからリファラーを変更できるかどうかは誰でも知っていますか?
基本的には自分のページから送信したいのですが、別のページからの参照者がいます。どんな情報でもいいでしょう。
ブラウザは、私が行ったテストでは常にリファラーを上書きします。つまり、ajax呼び出しのリファラーを変更することはできません。
.setRequestHeader( 'referer', 'foo' )
を使用できますが、ブラウザがそれを適切なものに置き換えるだけかどうかはわかりません。
jQueryを介して、.ajax()
メソッドはヘッダーも許可します(.get()
および.post()
は許可しません)
クロスドメインAJAXを実行できず、これを実行しようとしても、一部のブラウザーでXHRセキュリティルールがトリガーされ、要求が完全に停止する可能性があるため、これを実行することにはほとんど意味がないことに注意してください。
あなたはいつでもこれを使うことができます:
jQuery.ajaxSetup({
'beforeSend': function(xhr) {xhr.setRequestHeader("header key", "header value")}
})
しかしもちろん、ブラウザはリファラーヘッダーについて異なる意見を持つ可能性があります。これはテストする必要があります:)
あなたはjQueryではそれを行うことはできませんが、あなたは[〜#〜] can [〜#〜] fetchでそれを行います
クロスドメインリクエストで機能するかどうかはわかりません(明らかに少なくともCORS権限が必要です)。ただし、この例のように、同じドメイン+別のページで確実に機能します。
fetch("http://example.com",{"referrer":"http://example.com/inbox","body":"{\"format\":\"root\"}","method":"POST"});