.getJSON работает, .get нет

У меня есть функция, которая использует .getJSON для получения файла JSON с сервера, получения от него некоторых данных (URL-адрес является частью данных), а затем вызывает другую функцию, которая должна получить информацию из проанализированного URL-адреса (простой Jane HTML-страница).

var jsonurl = "http://server.company.com/file.json"    
$.getJSON(jsonurl, function(data){
  //do some stuff, then call the below function

.

$.get("http://server.company.com/sub/dir/file.html", function(data){
    alert(data);  //this never fires
});

Часть JSON проходит нормально. Часть HTML ничего не делает. Согласно Firebug, кажется, что страница возвращается правильно (200), но я не получаю никаких данных.

Файл JSON и другая простая HTML-страница находятся на одном сервере, просто в разных каталогах, поэтому я не думаю, что это проблема, связанная с доменом. Сначала я пытался получить данные, используя;

var req = new XMLHttpRequest();  
req.open("GET", "http://server.company.com/sub/dir/file.html", false);  
req.send(); 

Но по какой-то причине Firefox и Chrome лают на req.send(). Мое исследование привело меня к мысли, что это проблема, связанная с (между) доменами - браузер думает, что страница запрашивает данные за пределами своего домена (все стороны находятся в одном домене, оканчивающемся на «company.com»).

Почему мой $.get не работает и/или как избавиться от ошибки XMLHttpRequest.send()?


person Andenthal    schedule 25.01.2013    source источник
comment
В чем конкретно ошибка?   -  person broofa    schedule 25.01.2013
comment
При попытке использовать параметр XMLHttpRequest Firebug возвращает NS_ERROR_FAILURE: Failure - awr.send(); отчеты Chrome Uncaught Error: NETWORK_ERR: XMLHttpRequest Exception 101   -  person Andenthal    schedule 25.01.2013
comment
server.company.com и company.com различны в соответствии с одной и той же политикой происхождения.   -  person Rocket Hazmat    schedule 25.01.2013
comment
Является ли файл JSON плоским файлом или создан скриптом? Это не JSONP, не так ли?   -  person Rocket Hazmat    schedule 25.01.2013
comment
@RocketHazmat Генерируется скриптом, а не JSONP. Я думаю, что это та же самая политика происхождения, которая меня подводит. Я, вероятно, в конечном итоге попробую что-то еще, может быть, php.   -  person Andenthal    schedule 25.01.2013


Ответы (1)


Междоменный ajax доступен только с JSONP, используемым функцией getJSON.

person Dan Barzilay    schedule 25.01.2013