обработка редиректа из поста перекрестного происхождения в AJAX - PullRequest
2 голосов
/ 16 июля 2010

Мы пытаемся создать RESTful API, который будет размещен на сервере x.foo.com.Клиентские html-приложения (встроенные в jquery) будут размещаться на y.foo.com.

Я занимаюсь междоменными проблемами, устанавливая заголовок Access-Control-Allow-Origin, как описано здесь http://www.w3.org/TR/cors/.

Пока все хорошо, и теперь я могу успешно выполнять вызовы AJAX с хоста y на хост x.

Однако я столкнулся с проблемой с запросами POST.Типичный ответ на почтовый запрос - перенаправление.Однако объект XMLHttpRequest не будет следовать междоменным перенаправлениям, что приведет к неудачному вызову.

// Hosted on y.foo.com
$.ajax({
    type: "POST",
    url : http://x.foo.com/myapp/",
    success: function(data) {
      alert("success!");
    }
});

// Return status:  302  
// (Which errors out in firebug)

Кто-нибудь знает какие-либо методы обработки перенаправления (к ресурсу на сервере x), которые я получаю из этого поста для клиента, размещенного на y?

1 Ответ

1 голос
/ 16 июля 2010

Как насчет того, чтобы клиент отправлял специальный заголовок для запросов AJAX, и в зависимости от того, является ли это запросом AJAX или нет, вы можете изменить ответ вместо перенаправления.

...