Заставить Safari включить заголовок Origin в запрос GET jQuery - PullRequest
6 голосов
/ 21 июня 2011

С https://app.example.com Я делаю следующий запрос:

$.get('https://api.example.com', { foo: 'bar' })
  .success(getSuccess)
  .error(getError);

Он отлично работает в Chrome и Firefox, но не в Safari.Safari не выполняет предварительный запрос OPTIONS или не включает заголовок Origin: https://app.example.com, поэтому сервер не возвращает заголовок Access-Control-Allow-Origin: https://app.example.com.

Есть ли способ заставить Safari включить заголовок Origin иливыполнить предварительный запрос OPTIONS?

1 Ответ

1 голос
/ 21 июня 2011

Вы можете добавить заголовки к запросу HTTP XHR в событии beforeSend.

Что-то вроде:

$.ajax({
  url: 'https://api.example.com',
  data: { foo: 'bar' },
  beforeSend: function(xhr) {
    xhr.setRequestHeader("Origin", "https://app.example.com");
}
})
.success(getSuccess)
.error(getError);
...