У меня была такая же проблема с проектом в JQuery / .NET WCF, где Firefox использовал глагол OPTIONS, чтобы узнать, какие глаголы разрешены (получить, опубликовать, удалить, поместить).
Так что у меня это былоФайл global.asax.cs в методе «Application_BeginRequest», который наследуется всеми службами REST.Поэтому, когда вызывается служба REST, она сначала проходит через этот метод:
HttpContext.Current.Response.AddHeader("Access-Control-Allow-Origin", "*");
if (HttpContext.Current.Request.HttpMethod == "OPTIONS") {
HttpContext.Current.Response.AddHeader("Cache-Control", "no-cache");
HttpContext.Current.Response.AddHeader("Access-Control-Allow-Methods", "GET, POST, PUT, DELETE");
HttpContext.Current.Response.AddHeader("Access-Control-Allow-Headers", "Content-Type, Accept, x-requested-with");
HttpContext.Current.Response.AddHeader("Access-Control-Max-Age", "1728000");
HttpContext.Current.Response.End();
}
Когда используется глагол «OPTIONS», глобальная страница возвращает разрешенные параметры.Затем браузер отправляет запрос POST / DELETE / GET / PUT.
Я полагаю, вам нужно сделать что-то подобное.Какую технику вы используете для своего сайта?
Кстати, если у вас есть лучший способ справиться с этой проблемой, я тоже буду рад ее использовать:)