2012-02-20 11 views
0

私はページ/person/steveにAJAX呼び出しを作ってるんですPHPのjson_encodeとjQueryは

{"data":{"name":"Steve","twitter":"@stevelindstrom"}} 

私が期待するものですが、もし:PEAR Logクラスを使用して、そのjson_encodeの、私が取得します私はクロームのdevのツールでの応答を見て、それは示しています

[{"data":{"name":"Steve","twitter":"@stevelindstrom"}}] 

私のオブジェクトが配列に立ち往生している理由の任意のアイデア?私は、ほぼ同一であり、他のページ(単に異なるデータを)持っている、と私は...

EDITにそれらを期待するとして、彼らは現れる:私はJSON_FORCE_OBJECTを使用してみましたし、私は同じ結果を取得しています。 2番目の引数としてjson_encodeJSON_FORCE_OBJECT 、あなたはJSONまたは文字列を返すかの追加

+1

コンソールにダンプする前に文字列化しないと違いますか? –

+0

データ型がjsonであることをjqueryに伝えると、自動的にjson文字列がネイティブ構造にデコードされます。その後、その構造体をconsole.log呼び出しのjson文字列にRE-ENCODEします。したがって、追加の配列を実行するのはjsonライブラリです。 'console.log(レスポンス)'は何を表示しますか? –

+0

javascriptのその行を無視します - 私はそれがjavascriptに達する前に、私が信じている '' Chrome開発ツールの '' HTTP応答 'を見ています。しかし、不思議なことに、 'console.log'はHTTPレスポンスと同じことを示しています。 – Steve

答えて

0

てみてください、私はContent-typeヘッダを意味し、それが(このケースでなければなりません)text/htmlまたはapplication/jsonのですか? JSON.stringifyメソッドが配列にラップしたり、トンボや他のツールを使ってサーバーの生の応答のソースを確認したりしてみてください。

+0

ちょうど試しました - 同じ結果:( – Steve

+0

既にアソシエイティブな配列用のオブジェクトを生成していますそれ以外の方法でコード化することはありません –

0

あなたの質問によると、応答はjson文字列です。これは、JSON.Stringifyコールを冗長にします。それを取り除き、何が起こるかを見てください。

+0

あなたは正しいですが、Chrome開発ツールを探しています – Steve

+0

これはネットワークペインまたはコンソールにありますか – Alex

+0

ネットワークペインにあります – Steve

関連する問題