Выполнение запросов в Salesforce Rest API из localhost Угловое приложение возвращает 302 [дубликат]

Проблема нарезки является серьезной, поскольку это может привести к повреждению памяти, и очень сложно гарантировать, что программа не пострадает от нее. Чтобы разработать его из языка, классы, поддерживающие наследование, должны быть доступны только по ссылке (не по значению). Язык программирования D имеет это свойство.

Рассмотрим класс A и класс B, полученный из A. Повреждение памяти может произойти, если в A-части есть указатель p и экземпляр B, который указывает p на дополнительные данные B , Затем, когда дополнительные данные удаляются, p указывает на мусор.

37
задан Matthias Dailey 30 August 2013 в 19:33
поделиться

4 ответа

Ответы здесь неоднозначны, намекая на определенные настройки кода и т. д., которые могут решить проблему перенаправления с помощью CORS, но спецификация CORS четко указывает, когда такие переадресации CORS будут сбой / пропуск: согласно спецификации браузеры должны

  1. Разрешает перенаправление 3XX, если запрос перенаправленного ресурса не требует предварительной проверки (простые запросы CORS без пользовательского заголовка, например). См. https://www.w3.org/TR/cors/#simple-cross-origin-request-0

Если перенаправление вручную флаг отменяется, и ответ имеет код состояния HTTP из 301, 302, 303, 307 или 308. Примените шаги перенаправления

  1. Не разрешайте перенаправление 3XX, если запрос для перенаправленного ресурса требуется предварительная проверка. См. https://www.w3.org/TR/cors/#cross-origin-request-with-preflight-0

Если ответ имеет код состояния HTTP из 301, 302, 303, 307 или 308. Примените шаги кэша и сетевой ошибки.

Я изучил различные сценарии CORS в github repo: https : //github.com/monmohan/cors-experiment .

Эта конкретная проблема с неудачной переадресацией также может быть легко воспроизведена изолированно с помощью пакета: https: // github .com / monmohan / CORS-эксперимент / дерево / ведущий / выпуск

16
ответ дан factotum 21 August 2018 в 21:51
поделиться
  • 1
    Вы случайно не знаете, почему 30x не разрешено для запросов, требующих предполетной проверки? Я хотел бы прочитать некоторые соображения для этой части спецификации. – mgol 30 August 2016 в 11:03
  • 2
    По-видимому, разрешенная переадресация является «недавним изменением». ( stackoverflow.com/questions/40580913/… ) в спецификации, только 4 августа 2016 года, поэтому для браузеров потребуется некоторое время ... – rogerdpack 16 August 2017 в 21:06

http://httpstatus.es/302

Если код статуса 302 получен в ответ на запрос, отличный от GET или HEAD, пользовательский агент НЕ ДОЛЖЕН автоматически перенаправлять запрос, если он не может быть подтвержден пользователем, поскольку это может изменить условия, при которых был отправлен запрос.

8
ответ дан idbehold 21 August 2018 в 21:51
поделиться
  • 1
    Таким образом, похоже, что запросы GET должны перенаправляться. Мой запрос - GET, но он не перенаправляется. – Matthias Dailey 3 September 2013 в 14:54
  • 2
    Вы сказали, что шаг 1 был, запрос «Клиент: XHR POST в / rest & quot; – idbehold 3 September 2013 в 16:58
  • 3
    О, извините, да, проблема с POST начиналась, но с GET. Возможно, переключение на HTTP-код 303 или 307 может работать ... – Matthias Dailey 4 September 2013 в 17:42
  • 4
    См. stackoverflow.com/questions/40580913/… для более четкого объяснения и обновления спецификации. – jprosevear 4 February 2017 в 02:59

Я нашел это сообщение о , чтобы установить правильный заголовок CORS для контроля доступа-Разрешить-Происхождение на ваш ответ 302 , чтобы быть полезным, по крайней мере, в моем случае с аналогичным звучанием.

Исследование проблемы показало, что его XHR не приземлялся на URL с поддержкой CORS напрямую, но перенаправлялся к нему через HTTP 302 (перенаправление).

Так что имейте в виду, что URL-адрес перенаправления должен также включать заголовок Access-Control-Allow-Origin, иначе браузер остановится там с его попыткой междоменного запроса.

также установили, что установка дополнительных заголовков CORS выше и выше Access-Control-Allow-Origin часто приводит к отмене транзакции.

8
ответ дан Leigh 21 August 2018 в 21:51
поделиться
  • 1
    Мой запрос получил 302, но ответ содержал правильный заголовок Access-Control-Allow-Origin. Вы сказали, что дополнительные заголовки ответа могут привести к аннулированию? Можете ли вы объяснить это немного больше или привести примеры того, какие заголовки вызывают это? – Matthias Dailey 19 November 2013 в 23:13

У меня также возникла проблема, когда Chrome не выполнял переадресацию запроса CORS. Для меня проблема заключалась в том, что используемая JS-инфраструктура (Sencha Touch) добавляет заголовок запроса: X-Requested-With: «XMLHttpRequest»

Как только я удалил это (в Sencha Touch, вызвав Ext .Ajax.setUseDefaultXhrHeader (false);) он работал как шарм.

Не знаю, почему, но я надеюсь, что эта информация поможет кому-то.

2
ответ дан RickyA 21 August 2018 в 21:51
поделиться
Другие вопросы по тегам:

Похожие вопросы: