正在阅读php和json,我正在尝试这段无效的代码,我无法弄清楚原因。任何帮助表示赞赏。
我从我的html文件onLoad()调用了一个JavaScript函数。该功能是
function getSched()
{
$.post("schedlz.php", {dat: ""+inputString+"", action: "searchSched"}, function(data)
{
var y="";
if(data.length >0)
{
var obj = JSON.parse(data);
y = getRes (data);
}
else //some error handler
}
function getRes(data)
{
var str="";
var obj = JSON.parse (data);
alert (data.length + " | " +obj + " | ");
return str;
}
在schedlz.php文件中
$conn = getDbConn();
mysql_select_db("myschedulez", $conn);
$result = mysql_query($sql,$conn) or die('Error: ' . mysql_error());
$rows = array();
while ($r = mysql_fetch_assoc($result))
{
// $rows['schedulez'][] = $r;
$rows[] = $r;
}
echo json_encode($rows);
mysql_close($conn);
问题是我以正确的json格式返回数据,但是当我解析它时,没有Object。这里可能出现什么问题?
答案 0 :(得分:1)
您需要将dataType
参数添加到$.post
,在您的情况下为json
。
我也不确定您是否在样本中正确关闭了$.post
,因此我也在添加结束);
。
function getSched()
{
$.post("schedlz.php",
{dat: ""+inputString+"", action: "searchSched"},
function(data) {
var y="";
if(data.length >0)
{
var obj = JSON.parse(data);
y = getRes (data);
}
else {} //some error handler
},
'json'
);
}