2016-11-22 6 views
-1

У меня есть вопрос, который не уверен, что я полностью понимаю вопрос и вопрос говорит;jQuery для вывода города пользователя в браузер с помощью API freegeoip.net с использованием AJAX и JSONP

Написать Javascript или JQuery для вывода города пользователя в браузере с помощью freegeoip.net API с использованием AJAX и JSONP.

Подсказка: Используйте конечную точку http://freegeoip.net/json/?callback=parseResponse

я понял, вопрос говорит: использовать этот API, чтобы получить текущее местоположение и отображать город в браузере и это то, что я сделал на jsFiddle и я в состоянии получить City:

JQuery

$.get("http://freegeoip.net/json/", function (response) { 
    $("#address").html("City: " + response.city); 
    $("#details").html(JSON.stringify(response, null, 4)); 
}, "jsonp"); 

HTML

<hr/> 
<div id="address"></div> 
<hr/>Full response: <pre id="details"></pre> 

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

+1

ищу для получения справки о домашнем задании? – happymacarts

+0

@happymacarts Я решил это, но не уверен, что получаю именно то, что я должен делать. Вот почему я ищу ключ. –

+0

Что произойдет, если нет города? если вы включите некоторую логику, чтобы справиться с этим? мой ответ не имел город, полный ответ: { "IP": "138.23.217.2", "country_code": "США", "COUNTRY_NAME": "Соединенные Штаты Америки", "region_code": "CA" , "REGION_NAME": "Калифорния", "город": "", "zip_code": "92521", "TIME_ZONE": "Америка/Los_Angeles", "широта": 33.7529, "долгота": -116.0556, "metro_code": 803 } – happymacarts

ответ

1

Похоже, что вы ответили на свой вопрос.

вы можете рассмотреть вопрос о добавлении некоторых ошибок, ловя в случае, если ответ пользователя не содержит город (шахта не сделала) и я добавил фрагмент с Вашим ответом

$.get("http://freegeoip.net/json/", function (response) { 
 
    //add some conditional here to handle edge cases hint " use an if() " 
 

 
    $("#address").html("City: " + response.city); 
 
    $("#details").html(JSON.stringify(response, null, 4)); 
 
}, "jsonp");
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<hr/> 
 
<div id="ip"></div> 
 
<div id="address"></div> 
 
<hr/>Full response: <pre id="details"></pre>

+0

. Что касается более поздней части вопроса, который говорит: используя AJAX и JSONP? Вы уверены, что на пути? Не уверен, что я на ходу. –

+1

, возможно, спросите своего инструктора – happymacarts

+0

в моем понимании, если вы используете функцию jquery.get, он использует вызов ajax, адрес для api возвращает ответ json, если ваш инструктор не хочет, чтобы вы выписали собственный javascript-вызов ajax и не использовали jquery (они могут этого захотеть), похоже, что вы выполнили задание. Если бы это был я, я бы уточнил с инструктором или прочитал любые требования или ограничения на технологии – happymacarts