2013-05-23 8 views
5

Próbuję uzyskać proste wywołanie między domenami działające z prostym kodem HTML ze stroną JQuery i witryną MVC w innej domenie.Używanie programu Access-Control-Allow-Origin z MVC

mam oparcie, co robię na tym ...

Setting Access-Control-Allow-Origin in ASP.Net MVC - simplest possible method

Oto rozmowa w moim prostym miejscu ...

<script type="text/javascript"> 
     $(function() { 
      $.get("http://example.com:20874/Home/YourMethod", function (data) { 
       alert(data); 
      }); 

     }); 
    </script> 

i herezje mój kontroler na ... kod atrybutu jest właśnie wklejony z innego pytania ...

public class HomeController : Controller 
{ 
    public ActionResult Index() 
    { 
     return View(); 
    } 

    [AllowCrossSiteJson] 
    public ActionResult YourMethod() 
    { 
     return Json(@"{""title"": ""example glossary""}"); 
    } 

} 

Ale t on wywołuje błędy strony z ...

XMLHttpRequest nie może załadować http://example.com:20874/Home/YourMethod. Origin http://example.com:90 jest niedozwolone przez Access-Control-Allow-Origin.

Czy ktoś może pomóc?

+0

A gdzie ty ustawienie niezbędnej nagłówek HTTP? – CBroe

+0

Uważam, że powinien to robić atrybut [AllowCrossSiteJson]. –

Odpowiedz

8

Dał się z atrybutami i po prostu to zrobił tak ...

public ActionResult YourMethod() 
    { 
     HttpContext.Response.AppendHeader("Access-Control-Allow-Origin", "*"); 
     return Json(@"{""title"": ""example glossary""}"); 
    }