Я пытаюсь создать mashup-приложение, которое получает вывод json из спокойного веб-сервиса. приложение mashup извлекает данные о широте и долготе из ответа json, а затем указывает их на встроенную хорошую карту.
<html>
<form>
Post Code:<br>
<input type = "text" id = "postcode"><br>
<button onclick = "getdata()">Submit</button>
</form>
<h1>Location on Google Map</h1>
<div id = "map" style = "width:400px;height:400px;background:yellow"></div>
<script src = "http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script>
function getdata() {
var value1 = $("input#postcode").val();
var settings = {
"async": true,
"crossDomain": true,
"url": "http://localhost:8080/getlocation?postcode = " + value1,
"type": "POST",
"method": "GET"
}
$.ajax(settings).done(function(response) {
data = JSON.parse(response);
console.info(data['4000']['Latitude']);
var lat = data['4000']['Latitude'];
var lng = data['4000']['Longitude'];
init(lat, lng);
});
function init(lat, lng) {
latlng = new google.maps.LatLng(lat, lng);
var mapOptions = {
center: new google.maps.LatLng(lat, lng),
zoom: 20,
mapTypeId: google.maps.MapTypeId.HYBRID
}
var map = new google.maps.Map(document.getElementById("map"), mapOptions);
var customMarker = new google.maps.Marker({
position: latlng,
map: map,
});
}
}
</script>
<script src = "https://maps.googleapis.com/maps/api/js?callback=getdata"></script>
</html>
Однако я не могу передать другие значения параметрам «почтовый индекс» в «http: // локальный: 8080 / getlocation? почтовый индекс =». Передаваемые значения должны быть такими, как 4010,4011 и т. д.
"type": "POST", method": "GET" Type - это псевдоним метода для старых версий jQuery. Вы должны удалить это.
удалено. все еще не работает
@MarkBaijens, основная проблема для меня. Когда я передаю что-то как url: "локальный: 8080 / getlocation? почтовый индекс = 4010", это работает. однако я хочу передать значения параметра, взятые из текстового поля, как написано в коде
@PiushGoutam Вот почему я поставил это как комментарий. Не решит вашу проблему, но у вас определены как POST, так и GET. Вы не должны этого делать.
Получаете ли вы заметные ошибки? Обычно, когда вы анализируете данные через ajax, вы просто определяете метод, а затем переходите к его извлечению в соответствии с любым методом, который вы используете. Вам не нужно анализировать его в URL-адресе, поскольку вы уже определили метод, который используете, и относительно того, какой это URL-адрес.
По сути, вы определяете свой метод, GET / POST, и определяете URL-адрес, по которому будут анализироваться данные. Если вы используете метод GET, вам не придется вручную связывать переменную с URL-адресом, поскольку переменная уже будет проанализирована как определенный метод, если это имеет смысл.
переменная, которую я пытаюсь проанализировать, является ключом или ссылочным значением для вывода типа json из RESTful api, размещенного локально



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Я думаю, это потому, что ваш <script src = "https://maps.googleapis.com/maps/api/js?callback=getdata"></script> запускается ПОСЛЕ вашего пользовательского скрипта. API карт Google должен быть объявлен ПЕРЕД вашим кодом. Поместите его над тегами <script>, содержащими пользовательский код.
Пожалуйста, позаботьтесь о правильном форматировании кода в ваших вопросах. Честно говоря, это была неразбериха до того, как я ее отредактировал.