ずっと使っていjson_encode
て、今のところ問題ありません。現在、アップロードスクリプトを使用しており、ファイルのアップロード後にJSONデータを返そうとしています。
私は次のコードを持っています:
print_r($result); // <-- This is an associative array
echo json_encode($result); // <-- this returns valid JSON
これにより、次の結果が得られます。
// print_r result
Array
(
[logo_url] => http://mysite.com/uploads/gallery/7f/3b/f65ab8165d_logo.jpeg
[img_id] => 54
[feedback] => Array
(
[message] => File uploaded
[success] => 1
)
)
// Echo result
{"logo_url":"http:\/\/mysite.com\/uploads\/gallery\/7f\/3b\/f65ab8165d_logo.jpeg","img_id":"54","feedback":{"message":"File uploaded","success":true}}
json_encode
スラッシュを追加する理由を誰かに教えてもらえますか?
アップデート
@Quentinは、との間で何かが起こっていると言ったjson_encode
、.parseJSON
そして彼は正しい。
aalert(data.toSource());
を実行すると、次のような結果が得られます。
({response:"{\"logo_url\":\"http:\\/\\/storelocator.com\\/wp-content\\/uploads\\/gallery\\/7f\\/3b\\/71b9520cfc91a90afbdbbfc9d2b2239b_logo.jpeg\",\"img_id\":\"62\",\"feedback\":{\"message\":\"File uploaded\",\"success\":true}}", status:200})
そして、これは有効なJSONではありません。また、を追加し、status:200
これがどこから来ているのかわかりません。
Plupload bind
返されたデータに何か影響があるのでしょうか?
これは私のjsスクリプトです:
uploader.bind('FileUploaded', function(up, file, data) {
alert(data.toSource());
$('#' + file.id + " b").html("100%");
});