Страница условного обновления jQuery Ajax - PullRequest
0 голосов
/ 27 октября 2019

Итак, что я уже сделал: Ajax отправляет сообщение на refresh.php. refresh.php получает сообщение и получает данные из базы данных. Если это 1, он обновляет базу данных и заменяет 1 на 0. А если это 0, он ничего не делает. Это повторяется каждые 5 секунд.

Так что мне нужно, чтобы при значении 1 он обновлял сайт после изменения значения, но если он равен 0, он ничего не делал. Проблема в том, что, когда я пытаюсь заголовок ("location: index.php");это не работает.

Есть идеи, как это сделать?

Ответы [ 2 ]

0 голосов
/ 27 октября 2019

header location изменит URL-адрес вашего Ajax-запроса, поэтому текущая страница не будет перезагружаться

Попытайтесь получить ответ от URL-адреса, сопоставьте его с оператором if и напишите функцию для перезагрузки документа, например:

$.ajax({
url: //URL,
...,
success: function (resp){
  if(resp==="1"//echo 1 in php file when value is changed in DB
  ){
      window.location.reload();
  }else{//value is not changed then resp is different or null
      //Don't reload page
  }
}
});
0 голосов
/ 27 октября 2019

Цель Ajax - сделать HTTP-запрос и обработать запрос с помощью JavaScript .

Если вы введете в ответ заголовок Location, то браузер создаст другойзапросите указанный URL-адрес и затем передайте эти данные в JavaScript.

Если вы хотите загрузить новую страницу в браузере, вам нужно сделать что-то, что загрузит новую страницу: например, отправив форму, установив location.href на новое значение, или вызвав location.reload().

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