У меня проблема с моим кодом, так как моя php-переменная не отображается на странице при использовании ajax jquery. Вот мой код …
<script> function refresh_div() { $('.loader').show(); var username = "<?php echo $user; ?>"; jQuery.ajax({ type: "POST", url: "load.php", data:{user : username}, success:function() { jQuery("#load_msgs").append(response+'<br>'); }, complete: function(){ $('.loader').hide(); } }); } t = setInterval(refresh_div,1000); </script>
Я пытаюсь отправить «имя пользователя» на страницу url «load.php» … я назвал это так, но ничего не повторилось …
if(isset($_POST['user'])) { echo $_POST['user']; }
спасибо за помощь спасибо … 🙂
изм …
когда я попытался использовать этот код, то есть добавив передаваемый ответ как параметр в функцию успеха, подобную этой …
<script> function refresh_div() { $('.loader').show(); var username = "<?php echo $user; ?>"; jQuery.ajax({ type: "POST", url: "load.php", data:{user : username}, success:function() { jQuery("#load_msgs").append(response+'<br>'); }, complete: function(){ $('.loader').hide(); } }); } t = setInterval(refresh_div,1000); </script>
…. данные (имя пользователя) отображаются каждую секунду .. как включение мигания на странице и за ее пределами … как сделать отображение данных статическим, чтобы использовать переменную на странице ajax. Благодаря 🙂
Где переменная response
вы получаете? Должно быть :
success : function( response ) { jQuery("#load_msgs").append(response+'<br>'); },
возьмите тип данных как json в вызове ajax и в функции loads.php добавьте две строки, как показано ниже.
if(isset($_POST['user'])) { $data['user'] = $_POST['user']; } echo json_encode($data);
также изменение в функции успеха.
success:function(response) { jQuery("#load_msgs").append(response.user); }
Немного упрощается:
$.post(URL, { data: somefield }, function(result) { result = JSON.parse(result); If(result && result.status === 'true'){ } )};
Зависит немного от возврата на стороне сервера.
Вы пропустили ответ в функции успеха. Попробуй это:
<script> function refresh_div() { $('.loader').show(); var username = "<?php echo $user; ?>"; jQuery.ajax({ type: "POST", url: "load.php", data:{user : username}, success:function(response) { $("#load_msgs").append(response+'<br>'); }, complete: function(){ $('.loader').hide(); } }); } t = setInterval(refresh_div,1000); </script>