[英]AJAX enabled web form
我是Jquery的新手,希望得到你們的幫助。
我想在jquery中解碼json數據,因為我能夠將數據從php傳遞到ajax但是在它返回jquery后它沒有解析它說undefined。 代碼是吼叫
$.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;
}
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腳本的頂部:
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.