Я пытаюсь отправить запрос CORS POST на сервер.Нет заголовка Referer в запросе CORS от IE или Firefox
В Chrome это работает так, как ожидалось - запрос предварительной предпрограммы отправляется на сервер, сервер отвечает заголовками контроля доступа, отправляется запрос POST. Когда я пытаюсь сделать это в IE или Firefox, ни один референт не отправляется с запросом OPTIONS, поэтому я не могу добавить заголовок-control-allow-origin (как это делается программно).
Javascript является:
$.ajax({
url: $(this).attr('href'),
type: 'POST',
xhrFields: {
withCredentials: true,
},
contentType: 'application/json; charset=utf-8;',
data: JSON.stringify(data),
success: function (response) {
alert(response);
},
});
return false;
});
Заголовки в Chrome являются следующие:
Заголовки в Firefox являются следующие:
Есть ли способ, чтобы гарантировать, что referrer будет отправлен с запросом предварительной проверки OPTIONS? А если нет - есть ли другой способ получить ссылочный URL-адрес, чтобы добавить заголовок allow origin?
Зачем вам нужно знать ссылочный URL? Обычно 'Allow-Origin' устанавливается на основе фактических политик безопасности; другими словами, сайт настроен на то, чтобы разрешить определенное происхождение или все происхождение. – Pointy
Существует несколько разных URL-адресов, которые должны иметь доступ, и URL-адреса изменяются в зависимости от среды (в реальном времени, в режиме постановки и т. Д.). Поэтому я проверяю входящий URL-адрес на список приемлемых. Если он там, я добавляю заголовок allow origin для входящего URL. – Bonnotbh
Ah OK - узнайте что-нибудь каждый день; Я предположил, что заголовок CORS может включать список URL-адресов, но, по-видимому, это либо одно происхождение, либо '*'. – Pointy