2012-01-10 5 views
0

echo json_encode($my_array)を使用してPHPでJSONフィードを作成しています。 ブラウザに渡される文字列は、次のようになります。 [{"ACC_NUM":"147545","BOOK_DATE":"2011-10-22"},{"ACC_NUM":"147546","BOOK_DATE":"2011-10-22"}]jsonフィードの最後の文字を切り取るWebkit

Firefoxでは、json文字列が次のように受信されます。しかし、Webkitブラウザ(Safari、Chrome)では、文字列の最後の文字が途切れてしまいます。これにより、解析エラーが発生します。

私はフィードをapplication/jsonとtext/htmlとして提供しようとしても役に立たない。

何が起こっているのか知っていますか?私はここで何か間違っていますか?前もって感謝します。

バックエンドのコード: // $結果は、これは私がブラウザで表示し、その結果のJSONフィードを示しすることができますのindex.phpに保存されているMySQLのクエリ

if($result) { 
    $arr = array(); 
    foreach($result as $key => $val) { 
     $arr[$key] = $val; 
    } 
    echo json_encode($arr); 
} 

から行が含まれています。

+1

あなたが与えた情報だけではわかりません。 JavaScriptコードを表示します(可能であれば、サーバー側のコードも表示します)。 –

+0

生の応答を見るためにChromeでXHRコンソールを使用しようとしましたか?完全なJSON文字列が表示されている場合は、おそらくJavaScriptの問題です。 – jprofitt

+1

私はこの例をテストしました:[stackoverflow.com/questions/8807558/how-to-create-forms-with-conditional-options/8808967#8808967](http://stackoverflow.com/questions/8807558/how-to win7のサファリ4.0.4(531.21.10)とchrome 16.0.912.75 mの-create-forms-with-conditional-options/8808967#8808967)両方のJSONが正しく受信され、解析されます。 このバグの詳細や動作例を提供する必要があります。 – DamirR

答えて

4

Slimframeworkでこの問題が発生した場合。 json文字列をエコーし​​た後、exitコマンドを追加するだけです。

if($result) { 
    $arr = array(); 
    foreach($result as $key => $val) { 
     $arr[$key] = $val; 
    } 
    echo json_encode($arr); 
    exit; // <------------------- Hallelujah!!! 
} 
関連する問題