2013-05-15 2 views
6

나는 지난 몇 시간 동안 무언가를 얻으려고 노력해왔다. 대기열을 완성하자마자 pluploader에서 아무 쓸모가 없다. 여기 업로드 완료시 Plupload를 사용하여 Ajax를 통해 데이터를 반환하려면 어떻게해야합니까?

내 JS 코드 :

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

이 나에게 의미가 있습니다 ...하지만 그렇지 않아 다음 upload.php로 스크립트의 맨 마지막 줄에

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

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

}); 

, 내가 가진 작동하면서 문제없이 파일을 업로드하지만 경고는 시작되지 않습니다 ... 아무런 응답이 없습니다.

생각하십니까?

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) 사용하고있는 솔루션

JS AS NEW 코드

편집

내가 업로드 스크립트에서 이미지를 연결할 쉘 행을 만들 때
die('{"jsonrpc" : "2.0", "result" : "'.$_REQUEST['unitID'].'", "id" : "id"}'); 

그래서 기본적으로, 나는에 원래의 형태로 다시 행 ID를 전달 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에서 제출이 끝나면 한 장의 데이터 만 찾고 있습니다. 업 로더 스크립트가 실행되면 데이터베이스에 레코드를 삽입하여 업로드 된 파일을 무언가와 연관시킬 수 있습니다. 이 셸의 ID가 원래 형식으로 다시 전달되어야합니다. 원래 제출물의 $ _POST 데이터로 셸을 업데이트하는 데 사용합니다. 이 데이터 조각을 사용하여 원본 페이지의 숨겨진 변수를 변경하고 $ _POST에 전달할 수 있습니다. 다른 통찰력이 있다면 감사하겠습니다! –

+0

@ TonyMancini 당신이 http://stackoverflow.com/q/14786842/1236044와 비슷한 것을하려고합니까? – jbl

+0

예, 아약스 호출을 추가하지 않고도이 작업을 수행 할 수 있습니다. 계속 진행 중이며 계속 진행하고 싶습니다. 방금 코드를 실행하고 내가 찾던 응답을 받았습니다 - 대답을 수락했습니다, 도움에 감사드립니다 !! –

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

관련 문제