button
現在、ユーザーがWeb ページでa を押した後、ajax 呼び出しが発生しています。
問題は、送信後、わずかな遅延を回避するために、わずかな遅延が発生することです (DIV を表示するには 2 番目の 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 入力を処理するには