0

私はこのphpスクリプトを持っています

if (!$chunks || $chunk == $chunks - 1) {
// Strip the temp .part suffix off 
    rename("{$filePath}.part", $filePath);
    if( $content = $this->html_file_uploaded( $filePath ) ){

        die('{"Done" : "yee", "content" : "woe" , "id" : "id"}');
            }

そしてJavaScriptでやりたい

 FileUploaded: function(up, file, info) {
    // Called when a file has finished uploading

    $('body').prepend('FileUploaded fired<br>'+info.Done);

しかし、ページに書き込むと undefined が返されます

$('body').prepend('FileUploaded fired<br>'+info.Done);

var info = $.parseJSON(info);私にはうまくいきませんでした。

どうすればそれを機能させることができますか?

EDIT JavaScriptとphpはplupload APIからのものです

json_encodeこのような文字列を送信してもうまくいかない、または信頼できないと言われない限り、私はを使いたくありません。文字列を有効なオブジェクトに変換する方法に興味があります。オンラインのjson 文字列チェッカーを使用すると、有効ではないと表示されます - JSON 入力をフォーマットできません。JSONObjectテキストは、''{'"Done" :' の近くの文字 1 で '{' で始まる必要があります。

4

2 に答える 2

1

FileUploadedコールバック関数(と呼ばれる)の内部で

var obj = $.parseJSON(info.response);

今、あなたは次のような応答を参照することができますobj.Done

于 2012-10-13T22:55:52.520 に答える
1

JSON.parse()必要なものです。これでうまくいかない場合は、php 側で何か問題があります。

注: JSON のサポートを従来のブラウザー (誰が IE7 と言ったのですか?) に組み込みたい場合は、 https: //github.com/douglascrockford/JSON-js から Douglas Crockford の JSON2.js を組み込む必要があります。

于 2012-10-13T20:12:13.420 に答える