XHR не удалось загрузить: GET работает иногда, и я не могу понять, почему - PullRequest
0 голосов
/ 10 ноября 2018

Я пытаюсь отправить запрос в Google местах и ​​получить лат и лонг. Я использую код

let term = $("#getaddy").val();

$.ajax({
    url: "https://maps.googleapis.com/maps/api/geocode/json?address="+encodeURIComponent(term) +"&key=GOOGLEKEY",
    type: 'get',
    success: function(data) {
        if (data.status === 'OK') {
            // Get the lat/lng from the response
            let lat = data.results[0].geometry.location.lat;
            let lng = data.results[0].geometry.location.lng;
            console.log(lat);

        }
    },
    error: function(msg) {
        console.log("not sure what to ask for here to check issue");
    }
});

Смущает то, что я вернусь после неудачной загрузки XHR или завершения XHR (кажется случайным). Столько, сколько я пытаюсь изменить вещи, я не могу понять, почему это работает или терпит неудачу. Каждый раз, когда я вписываю URL-адрес непосредственно в браузер, он возвращает данные правильно, даже если он сообщает, что произошел сбой.

Кто-нибудь знает, что является причиной сбоев, или что я должен поместить в console.log, чтобы помочь определить проблему?

Спасибо

1 Ответ

0 голосов
/ 12 февраля 2019

Я столкнулся с той же проблемой. У меня случайно XHR не удалось загрузить или XHR закончил. Проблема заключалась в определении кнопки, которая запускает функцию. Я определил HTML-кнопку без type = "button" , и эта страница обновлялась до получения ответа. Я добавил тип в определение, и он перестал обновлять страницу, и моя проблема была решена.

<button type="button"></button>

Это было решением для меня. Я надеюсь, что это работает и для вас.

...