Я запрашиваю веб-сервис для получения координат широты / долготы, используя названия стран из php-файла, используя этот код:
$defaultcountry = $_REQUEST['country'];
$daurl = "http://ws.geonames.org/search?q=".$defaultcountry.'&rows=5';
$contents = file_get_contents($daurl);
$xml = new SimpleXMLElement($contents);
$lat = $xml->geoname->lat;
$lng = $xml->geoname->lng;
$coords = array('lat'=>"$lat", 'lng'=>"$lng");
$o = array('success'=>true, 'coords'=>$coords);
echo json_encode($o);
У меня нет проблем с вызовом этого файла напрямую из браузера. Проблема в том, что этот файл где-то вызывается ajax, например:
ajaxManager.add('cacheQueue',{
url: '../lib/getdefaultcoord.php',
type:'POST',
dataType:'json',
data:{country:Country},
success:function(json){
alert(json.coords.lng);
}
})
Таким образом, ошибка появляется, как указано в моей теме. У меня похожий сценарий для запроса названий стран с использованием другого URL веб-сервиса (webservicex.net). Тот из geonames.com, кажется, не работает, когда запросы сделаны через ajax ... Почему?