Molto è cambiato da quando ho inviato la mia soluzione per CORS in IE7 e superiori. Prima di tutto la proprietà jQuery $ .support.cors è vera per impostazione predefinita,.I framework NET 4.0 e successivi non supportano più CORS come implementato nelle versioni 3.5.1 e precedenti. Durante la scrittura di un servizio Web con ASP.NET 4.0, ho installato Thinktecture.IdentityModel, disponibile come pacchetto NuGet. Poi, nel metodo Application_Start del file Global.asax, aggiungere:
void Application_Start(object sender, EventArgs e)
{
Thinktecture.IdentityModel.Http.Cors.IIS.UrlBasedCorsConfiguration.Configuration
.ForResources("*")
.ForOrigins("http://localhost:80, http://mydomain")
.AllowAll()
.AllowMethods("GET", "POST");
}
Ora aggiungere l'elemento httpProtocol entro system.webServer:
<httpProtocol>
<customHeaders>
<add name="Access-Control-Allow-Origin" value="*" />
<add name="Access-Control-Allow-Headers" value="Content-Type, Accept, X-Requested-With, X-File-Name" />
<add name="Access-Control-Allow-Methods" value="GET, POST" />
</customHeaders>
</httpProtocol>
mio $ .ajax chiamata è ora:
$.ajax({
url: serviceUrl,
data: JSON.stringify(postData),
type: "POST",
cache: false,
contentType: "application/json; charset=utf-8",
dataType: "json",
success: onSuccess,
error: onError
});
fonte
2012-06-13 15:46:08
IE 10 funziona correttamente, IE8/9 con limitazione. Vedi http://caniuse.com/#search=cors – gavenkoa
Quali sono i limiti specifici del supporto CORS in IE9? – Umopepisdn