2011-08-09 5 views
0

phpとjsonで読んでいて、このコードを試していますが、私はその理由を理解できません。どんな助けもありがとうございます。Javascript、php、mysql、およびjsonは私に困惑しています

私は自分のhtmlファイルonLoad()からJavaScript関数を呼び出します。この関数は、問題は、私は戻って正しいJSON形式のデータを取得するが、私はそれを解析する場合、オブジェクトがないということである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); 

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; 
} 

です。ここで何がうまくいかないのでしょうか?

+0

投稿のif文にJavaScriptエラーがあります。 elseを完全に削除するか、後ろに空の中括弧を入れてください。あなたの質問が結果を得ていると確信していますか? – Beez

+0

目的のために 'getSched()'関数をコピーしましたか、おそらく一部だけを表示するか、実際にはそれほどうんざりしていますか? – ayublin

+0

ご迷惑をおかけして申し訳ありませんが、コードの不完全なコピーと過去のことが原因で発生している可能性があります。私のコードBTWにJavaScriptエラーはありません。それはコピーと貼り付けの面倒です。 – radical

答えて

1

お客様の$.postdataTypeパラメータを追加する必要があります。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' 
    ); 
} 
+0

エース、それはトリックをした!私はjQuery.postドキュメントを見て、データ型の「インテリジェントな推測」が実際には機能していないことに気づきました。 – radical

+0

はい、あまりにも前に私に起こった:) – ace

+0

私は唯一ではないことをよく聞いてください;)予期しない文字エラーに関する考えはありますか?ありがとう。 – radical

関連する問題