My backbone.js
приложение, бросающее ошибку HTTP OPTIONS, не обнаружено, когда я пытаюсь сохранить модель для моей спокойной веб-службы, расположенной на другом хосте/URL-адресе.
Основываясь на моих исследованиях, я собрал из этого сообщения , что:
запрос будет постоянно отправлять заголовок запроса OPTIONS http и вообще не запускать запрос POST.
По-видимому, CORS с запросами, которые будут "вызывать побочные эффекты для пользовательских данных", заставит ваш браузер "предварять" запрос с заголовком запроса OPTIONS, чтобы проверить утверждение, прежде чем фактически отправить ваш запрошенный метод HTTP-запроса.
Я попытался обойти это:
- Настройка emulateHTTP в Backbone на true.
Backbone.emulateHTTP = true;
-
Я также разрешил разрешать все варианты CORS и CSRF в заголовке.
header ('Access-Control-Allow-Origin: *')
header ( "Access-Control-Allow-Headers: Origin, X-Requested-With, Content-Type, Accept" ); header ( "Access-Control-Allow-Methods: GET, POST, OPTIONS" );
Приложение разбилось, когда была введена строка кода Backbone.emulateHTTP
.
Есть ли способ ответить на запрос OPTIONS в RESTServer CodeIgniter и есть ли другие альтернативы, позволяющие либо отключить этот запрос из места разговора?
Я нашел это на Github в качестве одного из решений. Я не уверен, должен ли я использовать его, поскольку он немного устарел.