Javascript,php,mysql和json让我难过

时间:2011-08-09 01:45:53

标签: json

正在阅读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。这里可能出现什么问题?

1 个答案:

答案 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'
    ); 
}