Как да попреча на SuperAgent AJAX да извиква OPTIONS?

Намерих източника на моя проблем за SuperAgent (http://visionmedia.github.com/superagent/) във Firefox. Не съм сигурен дали SuperAgent го прави в своето AJAX повикване или FireFox го задейства.

По същество всеки път, когато правя AJAX извикване, метод OPTIONS се задейства на URL адреса преди действителното AJAX извикване. Доста досадно, тъй като сървърът в момента не поддържа OPTIONS. Как мога да се обадя, без да се обърка и да прекодира сървъра?

Благодаря


person crockpotveggies    schedule 29.06.2012    source източник


Отговори (2)


Добре, разбрах още подробности. За щастие, тестването на Safari ми даде повече представа какво всъщност се случва и приложих знанията си тук.

Изглежда стандартът е, че браузърите извикват OPTIONS метод, преди да направят действително AJAX извикване. Изглежда малко властно.

Така че, за да го заобиколя, просто добавих catch-all в моя обратен прокси сървър, за да обработва всяко OPTIONS повикване. Можете да видите въпроса по-долу за кода:

Играйте! 2.0 лесна корекция на отговор ОПЦИИ за универсален маршрутизатор?

И ако искате да прочетете повече за това защо браузърите правят това, вижте тук:

Защо получавам ОПЦИИ заявка вместо заявка GET?

OPTIONS е от стандарта CORS.

person crockpotveggies    schedule 29.06.2012

Деактивирането на уеб защитата в phantomjs също помогна за разрешаването на този проблем (--web-security=no). Тъй като нямах достъп до API сървъра, за да направя промени за метода OPTION.

person Serge    schedule 24.04.2013