2012-04-09 21 views
0

jqueryのオートコンプリートのデータを取得するためにajax関数を使用していますが、jsonの応答を解析していないように見えます。Cakephp json_encodeのJSON応答が機能しない

もう1つのjsonレスポンスで動作しているものと、クロムコンソールで動作していないもののconsole.logを見ました。最初のものは動作しておらず、2番目のものは動作しています。

["17","17","16","20","19","18","23","18","20","18","23","23"] 
["25", "24", "25", "24", "24", "23", "21", "23", "22", "21", "22", "22"] 

2番目の数字に赤い色が付いていることがわかりましたが、その理由がわかりません。

誰かがこのJSONを解析していない理由を知ることができますか?

答えて

0

2つ目のカンマの後に空白(またはそのように表示される他の文字)があります。これはどのようにあなたのjson_encode()コール出力する場合は、それらのスペースを確保するために、追加の対策を実行することができ、あなたのAJAX機能に戻す前に存在しません:あなたは、どのデータを持っている可能性がある場合

$encoded_text = str_replace(" ","",$encoded_text); 

はそれを使用しないでください通常はスペースがあります。それが動作しない原因になっているかどうかはわかりませんが、それはあなたが私たちに示した文字列の唯一の違いです。

JSONLintを使用して、JSONを無料で検証することもできます。

+0

ありがとうございます。しかし、2番目のスペースを持つものは赤色で作業しています。私は、$ .trim(data)関数がJSONを処理する方法が間違っていると思っています。なぜなら、AJAXレスポンスの前に2つのキャリッジリターンがあり、jqueryトリム関数を削除して変数に置きましたが、間違った道。これは、私がキャリッジリターンがCakephpでどこで起きているのか分からないように見えてしまったために行われました。 –

関連する問題