Обновите массив JavaScript с ответом AJAX - PullRequest
0 голосов
/ 30 сентября 2019

Я ищу, чтобы обновить определенный массив с ответом на запрос 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? Это через что-то с обратным вызовом? Каков наилучший способ добиться этого, так как есть только очень расплывчатое руководствона ТАК за это?

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