2010-06-26 2 views
0

Я думаю, что код прав, но я не получаю никакого ответа в своем втором предупреждении. Когда я перехожу на сайт, указанный в первом предупреждении, я получаю текст, который я хочу. Почему это не работает?Текст ответа AJAX

<script type="text/javascript"> 

function getimages(q) { 
    bossimagesrequest = new XMLHttpRequest; 
    var requri = "http://boss.yahooapis.com/ysearch/images/v1/"+escape(q)+"?appid=yahoobosskey&filter=true&count=10"; 
    bossimagesrequest.open("GET", requri, true); 
    bossimagesrequest.onreadystatechange = function() { 
     if (bossimagesrequest.readyState === 4) { 
     alert(requri); 
     alert(bossimagesrequest.responseText); 
     } 
    }; 
    bossimagesrequest.send(); 
} 
</script> 

Я заменил «yahoobosskey» своим ключом API, так что это не проблема.

ответ

1

Похоже, вы натолкнулись на same origin policy. Возможно, вам придется использовать относительный путь вместо вашего абсолютного пути http://boss.yahooapis.com/....

Похожие: Empty responseText from XMLHttpRequest

Вы также можете быть заинтересованы в проверке из следующего переполнения стека сообщества вики пост:

+0

Так что я не могу использовать Yahoo BOSS с AJAX? Я думаю, что было бы глупо, если Yahoo заблокировал другие серверы от BOSS, потому что тогда вам нужно очень много обойти блок. Разве я не должен использовать AJAX для Yahoo BOSS? – icant

+0

@ user376919: Политика одного и того же происхождения блокирует все, что не происходит из того же домена веб-документа. Даже другой номер порта не разрешен. У меня нет опыта работы с BOSS Yahoo, но вы можете проверить, обслуживается ли служба [JSONP] (http://en.wikipedia.org/wiki/JSON#JSONP). В противном случае вы можете проверить методы, описанные в сообщении SO, с которым я связан. –

+0

... Например, я заметил, что [Yahoo Search API] (http://developer.yahoo.com/common/json.html#callbackparam) служит JSONP. Он описывается как JSON с использованием обратного вызова. –

Смежные вопросы