изменение реферера Ajax POST - PullRequest
       3

изменение реферера Ajax POST

20 голосов
/ 22 ноября 2011

Кто-нибудь знает, можно ли с помощью jquery или общего javascript поменять реферер из заголовка при вызове http ajax?

В основном я хочу, чтобы он был отправлен с моей страницы, но есть реферер с другой страницы. Любая информация была бы отличной.

Ответы [ 4 ]

46 голосов
/ 07 декабря 2011

Браузер будет перезаписывать реферер всегда для тестов, которые я сделал.Это означает, что вы не можете изменить реферер вызова ajax.

6 голосов
/ 22 ноября 2011

Вы можете использовать .setRequestHeader( 'referer', 'foo' ), но я не уверен, что браузер просто заменит его на правильный или нет.

через jQuery, метод .ajax() также позволяет использовать заголовки (.get() и .post() нет)

Обратите внимание, что в этом нет особого смысла, поскольку вы не можете использовать междоменный AJAX, и даже попытка сделать это может вызвать запуск правил безопасности XHR в некоторых браузерах и просто полностью остановить запрос.

2 голосов
/ 22 ноября 2011

Вы всегда можете использовать это:

jQuery.ajaxSetup({
    'beforeSend': function(xhr) {xhr.setRequestHeader("header key", "header value")}
})

Но, конечно же, браузер может иметь другое мнение о заголовке реферера. Это должно быть проверено:)

0 голосов
/ 03 июня 2019

Вы не можете сделать это с помощью jQuery, но вы МОЖЕТЕ сделать это с помощью fetch

Не уверен, что он будет работать для междоменных запросов (для этого вам, очевидно, понадобятся как минимум разрешения CORS), но он определенно работает для того же домена + другой страницы, как в этом примере

fetch("http://example.com",{"referrer":"http://example.com/inbox","body":"{\"format\":\"root\"}","method":"POST"});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...