不知道如何将html输出到带有ajax的页面中

时间:2015-01-04 04:38:27

标签: javascript php jquery ajax twitter-bootstrap

我接下来是一个教程视频(长度为112个视频),因此在编码方面,我在许多方面都很无知;虽然我已经学会了一吨。

我遇到的困难就是标题所说的。在我目前正在处理的管理面板中,我(例如)将一个段落标记分配给jquery引导助手类“alert alert-success”,如下所示:http://i1379.photobucket.com/albums/...ps44962161.png

它在上面的例子中工作的原因是因为在命中保存(插入和更新)时运行的SQL不需要ajax。

INSERTING和UPDATING位于config文件夹中名为“queries.php”的文件中时执行的代码。它如下(当然是错误处理部分):

case 'pages':

if (isset($_POST['submitted']) && $_POST['submitted'] == 1) {
// POST vars    
$title = mysqli_real_escape_string($dbc, $_POST['title']);
$label = mysqli_real_escape_string($dbc, $_POST['label']);
$header = mysqli_real_escape_string($dbc, $_POST['header']);
$body = mysqli_real_escape_string($dbc, $_POST['body']);

if (isset($_POST['id']) AND $_POST['id'] != ''){

$action = "updated";    
// UPDATE   
$query = "UPDATE posts SET user = $_POST[user], slug = '$_POST[slug]', title = '$title', label =     '$_POST[label]', header = '$header', body = '$body' WHERE id = $_GET[id]"; 

}else{

$action = "added";  
// INSERT 
$query = "INSERT INTO posts (type, user, slug, title, label, header, body) VALUES (1, $_POST[user],  '$_POST[slug]', '$title','$label','$header','$body')";

}

$result = mysqli_query($dbc, $query);

//Error Handling    
if ($result) {
$message = '<p class = "alert alert-success">Page was '.$action.'!</p>';
}else{
$message = '<p class = "alert alert-danger">Page could not be '.$action.' because:         '.mysqli_error($dbc).'</p>';
$message .= '<p class = "alert alert-warning">Query: '.$query.'</p>'; 
}   
}

if (isset($_GET['id'])) {$opened = data_post($dbc, $_GET['id']);} 

break;

但是,我不知道如何在删除帖子时让$ message变量得到回应。我正在使用ajax,以便帖子立即从左侧列表中消失。

这是Javascript:

$(".page-delete").on("click", function(){

var selected = $(this).attr("id");
var page_id = selected.split("del_").join("");

var confirmed = confirm("Are you sure you wanted to DELETE this page?");

if (confirmed == true) {

$.get("ajax/pages.php?id="+page_id); 

$("#page_"+page_id).remove();

};

......这是ajax:

include '../../config/connection.php';

$id = $_GET['id'];

$query = "DELETE FROM posts WHERE id = $id";
$result = mysqli_query($dbc, $query);

if ($result) {
echo "Page Deleted.";
}   else {
"There was an error...<br>";
echo $query.'<br>';
echo mysqli_error($dbc);
}

这是我试图吐出消息的地方:

</div>  <!-- END col-md-3 -->

<div class="col-md-9">

<!--FORM--> 
<form role="form" action="index.php?page=pages&id=<?php echo $opened['id']; ?>" method="post">

<?php if(isset($message)) { echo $message; } ?>

<!-- INPUT FIELD for title -->  
<div class="form-group">

<label for="title">Page Title</label>
<input type="text" class="form-control" value="<?php echo $opened['title'];?>" name="title"         id="title" placeholder="Page's Title" />

</div>

感谢任何可以提供帮助的人,我为不知道基本的事情而道歉。

再次感谢阅读。和平!

1 个答案:

答案 0 :(得分:0)

你需要回复ajax get。

$.get("ajax/pages.php?id="+page_id, function( data ) {
    $( "#result" ).html( data );  // replaces the html in div#result
    $("#page_"+page_id).remove();
 })

并将您的邮件放在html标记中,例如div,以便我们可以用jquery替换它

<div id="result"><?php if(isset($message)) { echo $message; } ?></div>

您的问题有点遍及,您可能想阅读一些关于最佳实践的书籍。