2012-05-21 20 views
7

Bir MVC 3 Denetleyicisine AJAX kullanarak bir form göndermek istiyorum.MVC 3 ile çapraz kaynaklı kaynak paylaşımı nasıl etkinleştirilir/kullanılır?

Biçim ve denetleyici iki farklı etki alanındadır, bu yüzden CORS kullanmak istiyorum.

Ben şu kod ASP.NET'te hile yapması gerektiğini okudum:

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

http://enable-cors.org/#how-asp.net bu kod form verilerini alır denetleyici doğrudan gitmeliyim? Bildiğim kadarıyla, CORS'in etkin/destekli olup olmadığını belirlemek için istemci gönderme verisi ve sunucu arasında bir miktar veri değişimi olmalı, dolayısıyla kodun bir satırının başka bir yere gitmesi gerektiğini anladım.

Teşekkür

+0

Burada okuyabileceğiniz belirli bir açık kaynaklı CORS uygulaması oluşturdum: http://brockallen.com/2012/06/28/cors-support-in-webapi-mvc-and-iis- with-thinktecture-identitymodel/ –

+0

Çok Güzel! Teşekkürler – Kenci

cevap

3

Bu denetleyici gidebiliriz. Aslında, çapraz etki alanındaki bir AJAX çağrısından çağrılması gereken her denetleyici eyleminde yinelemekten kaçınmak için bunu özel bir eylem filtresinde dışa aktarabilirdim. Gerekli ek adımlar yoktur. Tarayıcınızın CORS'i desteklediğinden emin olun çünkü eğer bu satırı eklemezse kesinlikle hiçbir etkisi olmayacaktır.

+0

Cevabınız için teşekkürler. Üstbilgileri denetleyiciye eklediğimde, istemcide normal bir ajax POST kullanabilir miyim, yoksa çalışmaya özel bir şey belirtmek zorunda mıyım? – Kenci

+0

Hayır, özellikle bir şey belirtmeniz gerekmez. Kullandığınız tarayıcı CORS'i destekliyorsa standart '$ .post()' ile çalışmalıdır. –

+0

Bir ipad2 uygulaması için kullanmam gerekiyor, bu yüzden yeni bir iPad ipad2'nin desteklediğini umuyorum. http://caniuse.com/cors :) – Kenci