Asp.Net Mvc 3, jQuery, междоменный - PullRequest
1 голос
/ 24 января 2012

У меня есть сайт "A" и для тестирования межсайтовых сообщений с сайта "B" с помощью jQuery я добавил это в Global.asax Application_BeginRequest

HttpContext.Current.Response.AddHeader("Access-Control-Allow-Origin", "*");
HttpContext.Current.Response.AddHeader("Access-Control-Allow-Headers", "X-Requested-With");
HttpContext.Current.Response.AddHeader("Access-Control-Allow-Methods", "POST");

Пост с сайта "Б" выглядит так:

$.ajax({
    type: 'POST',
    url: rootUrl,
    crossDomain: true,
    data: request.toPostData(),
    dataType: 'json',
    success: onsuccess,
    error: onerror
});

Моя проблема сейчас в том, что он пропускает два запроса к действию контроллера. Один с формульными значениями, а другой без.

Конечно, я хочу только последний, который содержит значения. Я надеюсь, что кто-нибудь может объяснить и указать мне решение.

Ответы [ 2 ]

0 голосов
/ 24 января 2012

используйте dataType: 'jsonp' и добавьте свой URL с помощью '& callback =?'

$.ajax({
    type: 'POST',
    dataType:'jsonp',
    url: rootUrl,
    crossDomain: true,
    data: request.toPostData(),
    success: onsuccess,
    error: onerror
});

для дополнительной информации http://www.ibm.com/developerworks/library/wa-aj-jsonp1/

0 голосов
/ 24 января 2012

для перехода по доменам, вам нужно использовать что-то вроде jsonp http://en.wikipedia.org/wiki/JSONP

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