2012-05-21 2 views
7

Я хочу отправить форму с использованием AJAX в контроллер MVC 3.Как включить/использовать совместное использование ресурсов с помощью MVC 3?

Форма и контроллер находятся на двух разных доменах, поэтому я хочу использовать CORS.

Я прочитал, что следующий код следует сделать трюк в ASP.NET:

Response.AppendHeader("Access-Control-Allow-Origin", "*"); 

из http://enable-cors.org/#how-asp.net

Если этот код перейти непосредственно в контроллер, который принимает данные формы? Насколько я знаю, между отправкой данных клиента и сервером должен быть обмен данными, чтобы определить, поддерживает ли CORS/поддерживается или нет, поэтому я считаю, что одна строка кода должна идти куда-то еще?

Thanks

+0

Я разработал специальную реализацию CORS с открытым исходным кодом, которую вы можете прочитать здесь: http://brockallen.com/2012/06/28/cors-support-in-webapi-mvc-and-iis- с-thinktecture-identitymodel/ –

+0

Очень приятно! Спасибо – Kenci

ответ

3

Это может пойти в контроллер. Фактически, я бы, скорее всего, внедрил его в настраиваемом фильтре действий, чтобы избежать повторения его в каждом действии контроллера, который должен быть вызван из вызова AJAX кросс-домена. Дополнительные шаги не требуются. Просто убедитесь, что ваш браузер поддерживает CORS, потому что, если он не добавляет эту строку, она не будет иметь абсолютно никакого эффекта.

+0

Спасибо за ответ. Когда я добавляю заголовки в контроллер, могу ли я использовать обычный ajax POST на клиенте или мне нужно указать что-то конкретное для его работы? – Kenci

+0

Нет, вам не нужно указывать что-либо в частности. Он должен работать со стандартным '$ .post()', если браузер, который вы используете, поддерживает CORS. –

+0

Мне нужно использовать его для приложения ipad2, поэтому я надеюсь, что новый готовый ipad2 его поддерживает. http://caniuse.com/cors :) – Kenci

Смежные вопросы