簡體   English   中英

支持AJAX的Web表單

[英]AJAX enabled web form

我是Jquery的新手,希望得到你們的幫助。

我想在jquery中解碼json數據,因為我能夠將數據從php傳遞到ajax但是在它返回jquery后它沒有解析它說undefined。 代碼是吼叫

JavaSript文件

$.post("GetData.php", function(data) {
        if(data==false)
            var tpl = '<p>no record found<p>'
        else
            var tpl = DrawTableRowsforSection(data);
            $("#result").append($(tpl));
},"json");


function DrawTableRowsforSection(p)
{
    alert(p.id[0]);
    var o = '<table>';
    for (var i = 0; i < p.length; i++)
        alert(p.id[i]);
        o += '<tr><td>'+p.id[i]+'</td><td>'+p.section_name[i]+'<td></tr>';

        o+='</table>'
        return O;
}

PHP腳本

header('Content-Type: application/json');
mysql_connect('localhost','root','') ;
mysql_select_db('news');
session_start();

$query = 'select id,section_name from section';

if ($result = mysql_query($query)) {
    if (!mysql_num_rows($result)==null) {
        $myArray = array();
        while ($row = mysql_fetch_assoc($result)) {
            $id =  ToSring($row['id']);
            $myArray[] = $row;
        }

        echo json_encode($myArray);
    }
}

數據庫有一個名為section的表字段如下

id            int(11)
section_name  varchar(20)

那里共有5條記錄。

我想要的是使用返回的數據填充表。 任何人都可以指導我犯錯的地方

關心Kashif Afzaal

確保mysql返回結果,你可以通過ajax獲取它們。

另外,我看到了以下錯誤:

您正在使用變量tpl錯誤。 它只是一個js變量,不需要使用$。 使用這種方式:

 $("#result").append(tpl);

好的,從PHP腳本的頂部:

  • MySQL擴展是古老而破舊的。 使用MySQLiPDO
  • 您永遠不會處理失敗的MySQL查詢,因此響應很可能是空的。 在99%的情況下,任何if塊都應該有一個相應的else塊。
  • mysql_num_rows()的結果永遠不會為 null if (mysql_num_rows($result) > 0) ,或者更好,只是if (mysql_num_rows($result))
  • 永遠不要做if (!something == something) - 它很少做你想要的。 if (something != something)
  • 你永遠不會處理mysql_num_rows()失敗/沒有行,所以(再次)響應很可能是空的。
  • 你永遠不會對你創建的$id變量做任何事情。
  • 我很確定ToSring應該讀取ToString 但實際上PHP中沒有這樣的功能 - 您可以定義它或將其作為類/對象的方法調用。 實際上,這可能是問題所在,因為它會導致致命的錯誤。

暫無
暫無

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

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