【发布时间】:2013-05-21 21:20:42
【问题描述】:
在用户在我的网页上按下button 后,我目前有一个 ajax 调用..
问题是,在提交之后,会有一点延迟(因为需要完成第二个 ajax 调用才能显示 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输入
【问题讨论】:
-
旁注:建议不要在HTML代码中混用单引号和双引号。
-
@ShivanRaptor 注意了,但总体答案是什么?
-
如果您不想等待 xhr 请求的响应,请在调用之前附加 div。如果你走这条路,你应该有一个指标,表明正在请求的数据。
-
嗨 Sophie,您的代码中有语法错误。缺少结尾的小胡子: $(function () { $('input').on('click', function () { var Status = $(this).val(); $('#output').append (状态); } });
-
你有几个输入元素。您通过 $('input') 定位其中哪一个?
标签: php javascript