Я пытаюсь использовать ajax для анализа данных, которые будут обрабатываться на странице php, и заставить php echo перенаправить javascript на другую страницу, но это не работает. Я читал, что js не работает после выполнения вызова ajax, поэтому я хотел бы знать, есть ли способ обойти это. Это мой код:
html
<form>
<div class="depart_time bottom_white w-40 ml-auto">
<p>Time</p>
<input type="time" name = "return_time" id = "rt">
</div>
<div class = "search_button r_search">
<button id = "r_search" onclick = "return false" onmousedown = "rent()">SEARCH</button>
</div>
</form>
ajax-вызов - это обычный запрос xhttp, который отправляется php для обработки, после чего должно произойти перенаправление:
if(isset($_POST['return_time'])){
echo '<script type="text/javascript">window.location.href="link.html"</script>';
}
Пожалуйста, помощь приветствуется. Я новичок в использовании ajax.
РЕДАКТИРОВАТЬ код ajax:
gid("r_search").addEventListener("mousedown", rent);
function rent(){
rt = gid('rt').value;
r_search = gid('r_search').value;
form_array = '&rt=' + rt +
'&r_search=' + r_search;
send_data = form_array;
ajax_data('app/rent.php', 'error', send_data);
//gid('error').innerHTML = send_data;
}
function ajax_data(php_file, getId, send_data){
gid(getId).innerHTML = "loading";
var xhttpReq = new XMLHttpRequest();
xhttpReq.open("POST", php_file, true);
xhttpReq.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xhttpReq.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
gid(getId).innerHTML = xhttpReq.responseText;
}
};
xhttpReq.send(send_data);
}
обратите внимание, что 'gid' предназначен для getelementbyid