В настоящее время у меня есть вызов ajax после того, как пользователь нажимает button
на моей веб-странице.
Проблема заключается в том, что после отправки есть небольшая задержка (поскольку второй вызов ajax необходимо завершить, чтобы показать DIV), чтобы избежать небольшого запаздывания. Мне было интересно, можно ли добавить содержимое в DIV:
<textarea name='Status'> </textarea>
<input type='hidden' name='UserID' value="<?=$_SESSION['UserID']; ?>">
<input type='button' value='Status Update'>
<script>
$(function () {
$('input').on('click', function () {
var Status = $(this).val();
$('#output').append(Status);
});
</script>
Это моя текущая конфигурация кода. Теперь это не работает должным образом. Он не добавляет представленный контент в DIV.. вот как он отображается через мой вызов ajax:
window.setInterval(function()
{
$(function ()
{
$.ajax({
url: 'Ajax/AjaxStatuses.php', data: "", dataType: 'json', success: function(rows)
{
$('#output').empty();
for (var i in rows)
{
var row = rows[i];
var User = row[0];
var Status = row[1]
$('#output').append(''+
'<div class="small-3 large-2 columns "><img src="http://placehold.it/80x80&text=[img]" /></div>'+
'<div class="small-9 large-10 columns">'+
'<p><strong><a href="#">'+User+'</a>:</strong>'+Status+'</p>'+
'<ul class="inline-list">'+
'<li><a href="">Reply</a></li>'+
'<li><a href="">Share</a></li>'+
'</ul><hr>');
}
}
});
});
}, 1000);
и вызов:
include "../PHP/Database.php";
$Array = array();
$Query = $DB->prepare("SELECT UserID, Text FROM statuses Order BY ID DESC");
$Query->execute();
$Query->bind_result($ID, $Text);
$Query->store_result();
while($Query->fetch()){
$Second_Query = $DB->prepare("SELECT Username FROM users WHERE ID=?");
$Second_Query->bind_param('i',$ID);
$Second_Query->execute();
$Second_Query->bind_result($Username);
$Second_Query->fetch();
$Array[] = array ($Username, $Text);
$Second_Query->close();
}
$Query->close();
Как добавить текстовую область в HTML-div после нажатия кнопки, чтобы мой script не мог ждать ответа от недавно опубликованного статуса?
Update. Когда кнопка отправляется, она вызывает следующий код:
$(function () {
$('input').on('click', function () {
var Status = $(this).val();
$.ajax({
url: 'Ajax/StatusUpdate.php',
data: {
userid: $("input[name=UserID]").val(),
text: $("textarea[name=Status]").val(),
Status: Status
},
dataType : 'json'
});
});
});
Для обработки ввода ajax