В моем приложении у меня есть сайт в одном поддомене (dev.u413.com), и я использую jquery, чтобы сделать запрос ajax на JSON api в другом поддомене (api.u413.com). Когда я проверяю запросы в инструментах Chrome dev и Firefox Firebug, кажется, что мои запросы предотвращаются с помощью Access-Control-Allowed-Origin
. Я установил document.domain
в суффикс текущего домена: document.domain = 'u413.com';
.
Вот мой запрос:
$.ajax({
dataType: 'json',
data: { parseAsHtml: true, cli: 'help' },
url: 'http://api.u413.com/',
success: function (response) {
alert(response.Command);
}
});
Если я изменил запрос ajax на один домен, запрос будет успешным.
$.ajax({
dataType: 'json',
crossDomain: false,
data: { parseAsHtml: true, cli: 'help' },
url: 'http://dev.u413.com/',
success: function (response) {
alert(response.Command);
}
});
Почему это происходит? Браузер не должен жаловаться на междоменные проблемы, так как я установил document.domain
в общий суффикс обоих поддоменов в соответствии с рекомендациями той же политики происхождения.
У меня есть приложение, работающее с jsonp в настоящее время, но я чувствую, что правильные запросы ajax должны работать в соответствии с той же политикой происхождения, с которой я связан выше. Я бы предпочел не использовать jsonp, если мне это не нужно. Невозможно ли выполнить регулярные аякс-запросы через поддомены?
Любая помощь очень ценится.