0

在不重新加载的情况下检索数据最被接受的方式是什么,我看过教程使用echo encode_json(array),我下面的教程没有使用它,而是..我认为他选择获取HTML特定 PHP 页面的区域。

我的index.php

 $("#button").click(function() {
  ... some code here ....

      $.ajax
        ({
          type: "POST",
          url: "update.php",
          data: dataString,
          dataType: 'html',
          cache: false,
          success: function(html) 
          {
            $("#posts").prepend(html); 
            $("#posts").slideDown("slow");  
            document.getElementById('content').value=''; 
            document.getElementById('content').focus();
          }
        });
  });

成功后,我想从我的 MYSQL 中检索数据并将其打印在我的#postsDIV 上。

我的update.php包括

  • 将数据插入mysql
  • 从 mysql 中选择/检索数据
  • 回显来自 mysql_query 的数据

    <?php 
      include("connect.php");
      if (isset($_POST['submit'])) 
      {
        $status = $_POST['status']; //get textarea value
        mysql_query("insert into messages (msg) values ('$status')");
      }
    
        $sql = mysql_query("SELECT msg,msg_id FROM messages order by msg_id desc");
        $row = mysql_fetch_array($sql);
        $msg = $row['msg'];
        $msg_id = $row['msg_id'];
    
    
    ?>
    
      <!-- get this part -->
    
      <li id="posts"> 
       id:<?php echo $msg_id; ?>
       text: <?php echo $msg; ?>
      </li>
    

基本上,我只想提交一个帖子,并显示所有帖子而无需重新加载。

4

1 回答 1

0

你绝对是在正确的轨道上。但是,您正在尝试将带有 的内容插入id="posts"到页面上已经存在且具有不正确 ID 的元素中。也许用一个类制作一个包装器 divposts-container然后你可以从 PHP 中返回这样说:

<li class="post"> 
   id:<?php echo $msg_id; ?>
   text: <?php echo $msg; ?>
</li>

并将其添加到您的页面,如下所示:

$.ajax
        ({
          type: "POST",
          url: "update.php",
          data: dataString,
          dataType: 'html',
          cache: false,
          success: function(html) 
          {
            $(".post-container").prepend(html); 
            $(".post-container").slideDown("slow");  
            document.getElementById('content').value=''; 
            document.getElementById('content').focus();
          },
          //adding an error function
          error: function(error){
              //do whatever you need to handle you error here
              console.log(error);
          }
        });
于 2013-08-24T14:10:55.570 回答