2013-05-15 3 views
6

私は最後の数時間、何かを得るために努力してきました...待ち行列の完成時には、pluploaderから戻ってくるものは無駄です。ここでアップロード完了時にPluploadを使用してAjax経由でデータを返すにはどうすればよいですか?

は私のJSコードです:upload.phpスクリプトの非常に最後の行に

var uploader = $('#pluploadDiv').pluploadBootstrap(); 

uploader.bind("UploadComplete", function(up, files) { 
    var obj = $.parseJSON(response.response); 
    alert(obj.result); 

}); 

、私が持っている:

die('{"jsonrpc" : "2.0", "result" : "'.$_REQUEST['unitID'].'", "id" : "id"}'); 

これは私には理にかなって...しかし、そうではありませんファイルは問題なくアップロードされますが、アラートは起動しません。応答はまったくありません。

思考?

var uploader = $('#pluploadDiv').pluploadBootstrap(); 

uploader.bind('FileUploaded', function(upldr, file, object) { 
    var myData; 
    try { 
     myData = eval(object.response); 
    } catch(err) { 
     myData = eval('(' + object.response + ')'); 
    } 
    $("#vehicle_id_value").val(myData.result); 
}); 

Upload.phpスクリプトコードの同じ、最後の行に宿泊:

私は(感謝JBL)を使用していることをソリューションとしてNEW CODE WITH

EDIT

JS

アップロードスクリプトで画像を関連付けるためにシェルの行を作成すると、基本的に元のフォームに元のフォームに戻ります隠し入力フィールドは、pluploadオブジェクトにバインドされているFileUploadedイベントを介して入力します。

<input type="hidden" name="vehicle_id_value" id="vehicle_id_value" value="" /> 

魅力的な作品です!

+0

を助けます! –

答えて

10

複数のファイルがアップロードプロセスの一部としてアップロードされている可能性があります。 UploadCompleteのステージでは、個人の反応はもう利用できません。 特定のファイルアップロードに関する情報を表示する場合は、UploadCompleteの代わりにFileUploadedイベントにバインドする必要があります。 何かのように:

uploader.bind('FileUploaded', function(upldr, file, object) { 
    var myData; 
    try { 
     myData = eval(object.response); 
    } catch(err) { 
     myData = eval('(' + object.response + ')'); 
    } 
    alert(myData.result); 
}); 

希望これは、あなたが答えるために多くのコードが必要な場合は、私が知っていると私はより多くを投稿しますしてください

+1

ありがとうございます - 私はこれを打つつもりですが、私はUploadCompleteの提出の最後に1つのデータを探しています。アップローダスクリプトが実行されるとき、私はこれらのアップロードされたファイルを何かに関連付けることができるように、データベースにレコードを挿入してシェルとして動作させます。私は元の形に戻す必要があるこのシェルのIDを持っています。元の投稿の$ _POSTデータでシェルを更新するために使用します。このデータを使って元のページの隠し変数を変更し、$ _POSTに渡すことができます。あなたが他の洞察力を持っているなら、それは感謝しています! –

+0

@TonyManciniあなたはこれに似た何かを実行しようとしていますかhttp://stackoverflow.com/q/14786842/1236044? – jbl

+0

はい、追加のajaxコールをせずにこれを実行することに近いです。私は自分が進んでいる道を続けたいと思っています。私はちょうどあなたのコードを実行し、私が探していた応答を得ました - 答えは受け入れ、あなたの助けに感謝!! –

0

ダイの代わりにエコーを試しましたか?

echo '{"jsonrpc" : "2.0", "result" : "'.$_REQUEST['unitID'].'", "id" : "id"}'; 
+0

私はこれを成功させずに試みました。ありがとう。 –

0
uploader.bind('FileUploaded', function (up, file, res) { 
    var res1 = res.response.replace('"{', '{').replace('}"', '}'); 
    var objResponse = JSON.parse(res1); 
    alert(objResponse.fn); 
}); 
+0

あなたが提供した答えに説明を追加することができれば、本当に役に立ちます。 – Lal

関連する問題