JQuery AJAX вызов не может увидеть данные ответа - PullRequest
1 голос
/ 27 августа 2010

Ответ Ajax, который я получаю, всегда пуст!Интересно, что если я скопирую и вставлю этот URL в браузер, я получу верный HTML-фрагмент (тестовое объявление).Я предполагаю, что это связано с некоторыми вызовами между сайтами.Нужна помощь / указатели, так как ответ не JSON.Его HTML-код.

Пожалуйста, посмотрите на код - http://pastie.org/1120352

Ответы [ 4 ]

1 голос
/ 27 августа 2010

Да, проблема, скорее всего, в междоменных ограничениях.

Можете ли вы указать, находится ли сама веб-страница в том же домене и поддомене, что и запрашиваемый вами URL (http://ads.admarvel.com/)?

Если вы не находитесь в том же домене, вам нужно будет сделать запрос прокси-скрипта для получения данных.

1 голос
/ 27 августа 2010

Похоже, вы извлекаете данные с другого хоста.

Вам нужно взглянуть на Одинаковая политика происхождения :

В вычислительнойОдна и та же политика происхождения является важной концепцией безопасности для ряда языков программирования на стороне браузера, таких как JavaScript.Политика разрешает сценариям, работающим на страницах, исходящих с одного и того же сайта, получать доступ к методам и свойствам друг друга без особых ограничений, но запрещает доступ к большинству методов и свойств на страницах разных сайтов.чтобы получить данные, это должно быть:

Тот же протокол и хост

Вам необходимо реализовать JSONP , чтобы обойти его.

0 голосов
/ 27 августа 2010

Также попробуйте добавить атрибут type.

$(document).ready(function (){ 
  $.get(
     url: url,
     data: {}, 
     callback: function (d) {
        alert(d);
     },
     type: 'json' \\ or whatever the call is returning
  ); 
});
0 голосов
/ 27 августа 2010

Кроме того, похоже, что у вашего кода есть дополнительная закрывающая скобка и парентез.

$(document).ready(function () { 
$.get(url,{}, function (d) {
        alert(d);
}

});

});

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