У меня есть раскрывающийся список, в котором я показываю данные из базы данных, когда я выбираю любые данные, это не быстро обновляет страницу, когда она выбрана, но обновляет страницу после 5 секунд, может кто-нибудь помочь мне, как это исправить, ниже мой код:onchange функция требует времени, чтобы обновить страницу
Javascript:
$(function() { document.ready
$("#client").on("change", function() {
var ID=$(this).attr('id');
var clientid=$("#client").val();
$.ajax({
type: "POST",
data: {
clientselect: $(this).val()
},
success: function(data) {
$("#display").html(data);
window.location = '?action=clientnetworkpricelist&clientid='+clientid+'';
$("#flash").hide();
}
});
});
});
Html
<select name="client" id="client" style="margin:-24px 0 0 1px;background-color:#E8E8E8;width:104px;position: absolute;">
<option value="">Select Client</option>
<?php
$sql=mysql_query("select * from client_list");
$clientid=$_GET['clientid'];
while($row=mysql_fetch_assoc($sql))
{
if(strlen($_GET['clientid'])>0 && $_GET['clientid']==$row['clientid']){
print' <option id="client" name="client" value="'.$row['clientid'].'" selected>'.$row['clientid'].' </option>';}
else{
print' <option id="client" name="client" value="'.$row['clientid'].'" >'.$row['clientid'].' </option>';
}
}
?>
</select>
Вы делаете запрос ajax, когда вы используете свой обратный вызов. Похоже, что этот запрос требует времени для реализации. Используйте отладчик браузера, чтобы увидеть точное время для вашего запроса, а затем вы поймете, что вам нужно ускорить работу на стороне сервера. – igor
Не используйте mysql для работы с db. лучше использовать mysqli или PDO. – sergio
Что происходит после того, как «успех:' есть », дождитесь завершения запроса, извлеките данные, затем измените окно.» С Firefox + Firebug вы можете видеть, сколько времени занимает ровно – DanFromGermany