В настоящее время я испытываю эту проблему, и мне интересно, почему ...?Доступ к API Panoramio API с использованием AJAX - ошибка «Происхождение hxxp: //foo.bar не разрешено Access-Control-Allow-Origin».
Сообщение об ошибке:
«XMLHttpRequest не может загрузить http://www.panoramio.com/wapi/data/get_photos?v=1&key=dummykey&tag=test&offset=0&length=20&minx=-30&miny=0&maxx=0&maxy=150&callback= Origin hxxp:. //foo.bar не допускается Access-Control-Allow-Origin test_panoramio.html:. 59Uncaught SyntaxError: Неожиданное токен) «
« hxxp: //foo.bar »относится к сайту, на котором я запускаю скрипт.
«test_panoramio.html» на сайте содержит, например, следующие:
var url = "http://www.panoramio.com/wapi/data/get_photos?
v=1&key=dummykey&tag=test&offset=0&length=20&minx=-
30&miny=0&maxx=0&maxy=150&callback=?";
function myScriptFn()
{
if (window.XMLHttpRequest) {
myAjax = new XMLHttpRequest();
if (typeof myAjax.overrideMimeType != 'undefined') {
myAjax.overrideMimeType('text/xml');
}
} else if (window.ActiveXObject) {
myAjax = new ActiveXObject("Microsoft.XMLHTTP");
} else {
alert('The browser does not support the AJAX XMLHttpRequest!!!');
}
myAjax.onreadystatechange = function()
{
handleResponse();
}
myAjax.open('GET', url, true);
myAjax.send(null);
}
function handleResponse()
{
if (myAjax.readyState == 4){ // Response is COMPLETE
if ((myAjax.status == 200) || (myAjax.status = 304))
{
// do something with the responseText or responseXML
processResults();
}else{
alert("[handleResponse]: An error has occurred.");
}
}
}
function processResults()
{
myObj = eval('(' + myAjax.responseText + ')');
...
doSomething()
...
}
URL-адрес Panoramio работает, если набирается непосредственно в браузере.
Пожалуйста, вы могли бы мне помочь с этим, я бегом из надежды ... :(
Спасибо заранее,
Вашего Марко
Спасибо, Ник! Это решило проблему! А также, большое спасибо за пример, который на самом деле показал его вживую. С наилучшими пожеланиями, Марко – Marko