JQuery AJAX (JSON) междоменный запрос и ASP.NET MVC - PullRequest
3 голосов
/ 11 мая 2011

Мне казалось, что это избитая тема, но я не мог найти ответ. знак равно Я делаю JQuery AJAX требовать localhost: 666 от localhost: 555 приложений

    $.ajax({
            url: "http://localhost:666/request",
            dataType: 'json',
            timeout: 5000,
            success:...

У меня есть хром:

XMLHttpRequest не может загрузить http://localhost:666/request. Источник http://localhost:555 не разрешен Access-Control-Allow-Origin.

Каково решение проблемы?

Ответы [ 3 ]

8 голосов
/ 31 августа 2011

Вы можете инициировать междоменный запрос на своей веб-странице, создав объект XMLHttpRequest или XDomainRequest .Веб-браузер конечного пользователя будет запрашивать данные с сервера домена, отправляя заголовок « Origin » со значением origin.Если сервер отвечает « Access-Control-Allow-Origin: * | Origin », то нам разрешается доступ к данным;в противном случае ответом будет несанкционированный запрос.

protected void Application_BeginRequest(object sender, EventArgs e)
{
    HttpContext.Current.Response.AddHeader("Access-Control-Allow-Origin", "*");

    // HttpContext.Current.Response.AddHeader("Access-Control-Allow-Origin", "http://AllowedDomain.com");
}

Статья здесь: Запросы перекрестного происхождения и ASP.NET MVC

0 голосов
/ 04 июня 2011

Попробуйте использовать функцию dataType: 'jsonp' или $ .getJSON.

0 голосов
/ 11 мая 2011

ajax-вызовы ограничены только родительским доменом. для этого сайт на localhost: 666 не может открыть ajax-соединение с localhost: 555, поскольку они принадлежат другому домену (или источнику)

вам нужно попробовать jsonp: http://www.google.com/search?q=jsonp

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...