Геолокация с использованием hostip с javascript - PullRequest
2 голосов
/ 26 августа 2009

Это, наверное, очень глупый вопрос. Я пытаюсь выполнить геолокацию, чтобы найти адрес пользователя по его IP-адресу, используя API, предоставленный http://www.hostip.info/use.html. Я использую это в сочетании с jquery со следующим кодом:

$.get("http://api.hostip.info/get_html.php", function(data){
    alert("Data Loaded: " + data);
});

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

Ответы [ 4 ]

4 голосов
/ 26 августа 2009

Я не думаю, что вызов к ним успешен. Междоменные ограничения могут помешать вам прочитать данные результатов. Если бы hostip предложил JSONP API , это было бы полезно, но я не увидел ни одного упоминания о них на их сайте.

2 голосов
/ 26 августа 2009

Если вы используете Google AJAX API, то найти местоположение с помощью их функции Расположение клиента очень просто - для этого не требуется междоменных вызовов.

if (google.loader.ClientLocation) {
    var lat = google.loader.ClientLocation.latitude;
    var lon = google.loader.ClientLocation.longitude;
    ...

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

0 голосов
/ 26 августа 2009

Вы не можете совершать междоменные вызовы для данных XML. Другие сайты предлагают интерфейс JSON:

http://ipinfodb.com/ip_query.php?ip=999.999.999.999&output=json

, который вы можете совершать между доменами, используя YUI GET Utility или через JQuery.

0 голосов
/ 26 августа 2009

Вы не можете совершать звонки на чужие домены из javascript. Это определенно проблема. Вам нужно либо настроить прокси-скрипт на вашем сервере, который выбирает удаленные страницы для вас, либо найти сервис, который реализует JSONP, как упомянуто выше.

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