XMLHttpRequest запущен дваждыJavascript

Форум по Javascript
Ответить
Anonymous
 XMLHttpRequest запущен дважды

Сообщение Anonymous »

У меня есть скрипт, который вызывает страницу с XMLHttpRequest и запускается дважды, я не знаю почему...

Код: Выделить всё

function show_results(theme=null,region=null){
var get_theme = (theme==null) ? 'tous':theme;
var get_region = (region==null) ? 'Toutes':region;
console.log("theme sent: "+get_theme+", region sent: "+get_region);
var xhr_object = new XMLHttpRequest();
xhr_object.addEventListener("readystatechange", () => {
console.log(xhr_object.readyState);
if(xhr_object.readyState === 4 && xhr_object.status === 200 && xhr_object.responseText){
formations = JSON.parse(xhr_object.responseText);
console.log(formations);
}
});
xhr_object.open("GET", window.location.origin+"/path/to/script/get_formations.php?theme="+get_theme+"&region="+get_region);
xhr_object.send(null);
}
Когда я нажимаю кнопку, которая запускает, например, show_results('eco-concevoir',null), вот что я получаю в консоли:

Код: Выделить всё

theme sent: eco-concevoir, region sent: Toutes
formations.js?v=1761056222:19 1 -> readyState as it changes
formations.js?v=1761056222:19 2
formations.js?v=1761056222:19 3
formations.js?v=1761056222:19 2
formations.js?v=1761056222:19 3
formations.js?v=1761056222:19 4
formations.js?v=1761056222:23 [{…}] -> this one is the right one with arguments
formations.js?v=1761056222:19 2
formations.js?v=1761056222:19 3
formations.js?v=1761056222:19 4
formations.js?v=1761056222:23 [{…}] -> this one is the results with get_theme=null and get_region=null
Почему после того, как Readystate изменится на 4 и отобразит правильные результаты, оно автоматически снова изменится на 4 и создаст новый нежелательный запрос без аргументов?
Спасибо за любую идею, как решить эту проблему...>

Подробнее здесь: https://stackoverflow.com/questions/797 ... ired-twice
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Javascript»