Я ищу, чтобы обновить определенный массив с ответом на запрос AJAX. Мне удается сгенерировать ответ нормально, но я не уверен, как обновить нужный мне массив с информацией в ответе.
Ниже приведен запрос AJAX, который я использую (перетаскивает информацию на страницу на основе ввода вdiv с идентификатором как «products» и заполняет div «markerlocations» следующим образом:
function showLocations(str) {
if (str == "") {
document.getElementById("products").innerHTML = "";
return;
}
if (window.XMLHttpRequest) {
// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp = new XMLHttpRequest();
} else { // code for IE6, IE5
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
document.getElementById("markersLocations").innerHTML = this.responseText;
}
}
xmlhttp.open("GET", "locations.php?r=" + str, true);
xmlhttp.send();
}
Это приведет к следующему, где массив «merchantMarkers» будет массивом, который я хотел обновить:
var example = {
info: '<strong>Shepherds Bush Market</strong><br>',
lat: 51.502500,
lng: -0.226495,
type: 'info',
label: {
text: '£00.00',
fontFamily: "Courier, Arial, Helvetica, sans-serif",
}
};
var example2 = {
info: '<strong>186 uxbridge</strong><br>',
lat: 51.505333,
lng: -0.225528,
type: 'info',
label: {
text: '£00.00',
fontFamily: "Courier, Arial, Helvetica, sans-serif",
}
};
var map;
var markers = [];
var merchantMarkers = [
[example.info, example.lat, example.lng, example.type, example.label, 1],
[example2.info, example2.lat, example2.lng, example2.type, example2.label, 2]
];
Как бы я обновил массив "merchantMarkers" новой информацией из моего AJAX? Это через что-то с обратным вызовом? Каков наилучший способ добиться этого, так как есть только очень расплывчатое руководствона ТАК за это?