我之前发过同样的问题,但我没有得到任何反馈!但是,我仍然无法解决这个问题。 所以我有一个index.php来显示我的数据库中的用户。我正在使用jquery UI对话框表单来添加新用户。问题是我想在添加新用户时显示消息并在显示用户的表中显示它。我成功地将记录添加到数据库中,但是我必须刷新整个页面以使新项目在表格中可见。这是我的表:
<div id="users">
<tr>
<td>//users's informations</td>
</tr>
</div>
添加用户的jquery代码:
//some vars
dataString = //dataString
$.ajax({
type: "POST",
url: "create.php",
data: dataString,
success: function () {
$(#users).load("index.php", function () {
display_message("user added");)
};
}
});
$(this).dialog("close");
return false;
所以当我点击创建一个新用户时,它只显示index.php loading的空白页面。请帮忙,谢谢。
答案 0 :(得分:1)
您忘记在选择器
周围放置"
success: function() {
$("#users").load("index.php", function() {
-------------------^
display_message("user added");
)};
}
编辑:
但我必须刷新整个页面,以便在表格中添加新项目。
如果要在成功回调中刷新整个页面,或者在关闭对话框后刷新此行
location.reload(true);
答案 1 :(得分:0)
假设您正在从ajax请求中检索用户信息:
success: function(userinfos) {
$("#users").append($('<tr><td>'+userinfos+'</td></tr>'))
display_message("user added");
}
答案 2 :(得分:0)
在你的create.php中,用html格式化div。确保此html打印在页面中,而不是存储在变量中。
这是您要在index.php中显示的格式。然后在你的成功函数上用下面的方式写它。
$.ajax({
type: "POST",
url: "create.php",
data: dataString,
success: function (data) {
$("#users tr td").html(data);
}
});