簡體   English   中英

使用AJAX實時從數據庫獲取數據

[英]Get data from database in real time using AJAX

我正在嘗試從數據庫中實時獲取數據,但是面臨一個問題,Java腳本未運行,我已經嘗試了多次,並且還在stackoverflow中搜索了我特定類型的代碼的答案,但是失敗了。

一個簡單的fetch.php

<?php
       include_once('db.php');

       $sql = "SELECT * FROM people";
       $res = mysql_query($sql);
       $result = array();

       while( $row = mysql_fetch_array($res) )
           array_push($result, array('name' => $row[0],
                                     'age' => $row[1],
                                     'company' => $row[2]));
       echo json_encode(array("result" => $result));
?>

還有my_script.js

$(document).ready( function () {
done();
});

function done() {
      setTimeout( function()  {
      updates(); 
      done();
      }, 200);
}

funtion updates() {
     $.getJSON("fetch.php", function(data) {
        $("ul").empty();

        $.each(data.result, function() {

         $("ul").append("<li>Name: "+this['name']+"</li><li>Age: "+this['age']+"</li><li>Company: "+this['company']+"</li><br />");

         });

     });
     }

從數據庫接收到的數據根本不顯示,只有刷新后,並且即使在腳本中使用它之后,來自數據庫的數據也無法進入表的正確格式,而且我已經建立了正確的數據庫連接性,但是我只是在這里沒有提到它,因為它很簡單,因為我正在接收數據,但是格式不正確且不是實時的。

謝謝。

我更喜歡使用純ajax。 另外請不要使用計時器,搜索ajax同步器。 無論如何,如果這不起作用,則需要發布數據庫結構。

fetch.php

<?php
       include_once('db.php');
       $sql = "SELECT * FROM people";
       $res = mysql_query($sql);
       $result = array();
       $rs = mysql_query("SELECT * FROM people");
       while($obj = mysql_fetch_object($rs)) {
       $result[] = $obj;
       }
       echo $_GET['callback'] . '{"result":'.json_encode($result).'}';
?>

JS

  $.ajax({
      url: 'fetch.php',
      type: 'GET',
      dataType: 'json',

   success: function(data) {
      for (var x = 0; x < data.result.length; x++) {
          $("ul").append("<li>Name: "+ data.result.name[x] +"</li><li>Age: "+ data.result.age[x] +"</li><li>Company: "+ data.result.company[x] +"</li><br />");
      }
   },
   error: function () { alert('error'); },
   });

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM