出于学习目的,我创建了一个简单的应用程序,它基本上通过向数据库添加一个值$.post
并返回与 JSON 同时更新的结果。
最大的问题是,在添加和更新时,会使用空元素进行更新。示例:如果我已经添加了 5 个项目,当再添加一个项目时,它会刷新并返回已经有的 5 个项目,加上 5 个空项目和一个带有发送值的项目。
下面是为 jQuery 发送的代码:
send_btn.bind('click', function () {
var that = $(this),
input_val = input_word.find('input').val();
that.find('.wrp').css('margin-left', -152);
$.post('post.php', { palavra: input_val }, function (data) {
console.log(data);
that.find('.wrp').css('margin-left', 0);
update();
});
});
下面是接收信息的 PHP 文件:post.php
$_palavra = $_POST['palavra'];
$query = mysql_query("INSERT INTO `glaubersampaio`.`postit` (`ID`, `PALAVRA`, `MOSTRAR`) VALUES (NULL, '".$_palavra."', '1');");
update()
功能:
function update() {
$.getJSON('request.php', function (data) {
for (i = 0; i < data.length; i++) {
$('<li class="postit" id="postit-' + data[i].id + '"></li>').appendTo(quadro.find('ul'));
$('#postit-' + data[i].id).html('<h4>' + data[i].palavra + '</h4>');
$('<div class="remover">REMOVER?</div>').appendTo('#postit-' + data[i].id);
}
})
.done(function () {
quadro.find('.loader').hide();
});
}
发出申请的 PHP 文件:request.php
$query = mysql_query("SELECT * FROM `postit`");
$dados = array();
while($a = mysql_fetch_array($query)) {
$ID = $a['ID'];
$PALAVRA = $a['PALAVRA'];
$MOSTRAR = $a['MOSTRAR'];
array_push($dados, array("id"=>$ID, "palavra"=>$PALAVRA, "mostrar"=>$MOSTRAR));
}
echo json_encode($dados);