Итак, я пытаюсь создать службу REST С# WCF, которая вызывается jQuery. Я обнаружил, что jQuery требует, чтобы вызовы AJAX выполнялись по одной и той же политике происхождения. У меня есть несколько вопросов о том, как я могу продолжить.
Я уже знаю,
1. Хакерное решение JSONP с обратным вызовом сервера
2. Слишком много накладных расходов сервера на наличие междоменного прокси.
3. Используя Flash в браузере, сделайте вызов и настройте crossdomain.xml на моем корневом сервере WCF.
Я бы предпочел не использовать их, потому что:
1. Я не хочу использовать JSON, или, по крайней мере, я не хочу ограничиваться его использованием.
2. Я хотел бы отделить сервер, обслуживающий статические страницы от того, который обслуживает состояние приложения.
3. Вспышка в этот день и возраст не может быть и речи.
Что я думаю: есть ли что-то вроде файла Flash crossdomain.xml, который работает для jQuery? Является ли эта политика "того же происхождения" частью jQuery или это ограничение в определенных браузерах? Если это всего лишь часть jQuery, возможно, я попытаюсь копать в коде, чтобы обойти его.
:
Edit:
Shreddd получил это довольно много места, см. Ниже. Для этого в С# я создал следующий метод, который необходимо вызвать всем вашим методам обслуживания:
private void BypassCrossDomain()
{
WebOperationContext.Current.OutgoingResponse.Headers.Add("Access-Control-Allow-Origin", "*");
}
Важно отметить, что это допускает атаки на межсайтовый скриптинг, и вы также не можете использовать "*", когда вам нужно отправить сторонние файлы cookie с вашим запросом.