在用户按下网页上的按钮之后,我目前有一个ajax电话.
问题是,在提交后,稍微延迟(因为第二个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,以便我的脚本不必等待新发布状态的响应?
$(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输入