Я пытался в течение последних нескольких часов получить что-то … что-то обратно от pluploader по завершении очереди безрезультатно.
Вот мой код JS:
var uploader = $('#pluploadDiv').pluploadBootstrap(); uploader.bind("UploadComplete", function(up, files) { var obj = $.parseJSON(response.response); alert(obj.result); });
В самой последней строке сценария upload.php у меня есть:
die('{"jsonrpc" : "2.0", "result" : "'.$_REQUEST['unitID'].'", "id" : "id"}');
Это имеет смысл для меня … но он не работает, файлы загружаются без проблем, но предупреждение даже не срабатывает … нет никакого ответа.
Мысли?
ИЗМЕНИТЬ С НОВЫМ КОДОМ КАК РЕШЕНИЕ
JS, который я использую (спасибо jbl):
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 остался прежним, последняя строка кода:
die('{"jsonrpc" : "2.0", "result" : "'.$_REQUEST['unitID'].'", "id" : "id"}');
Поэтому в основном, когда я создаю строку оболочки для связывания изображений в сценарии загрузки, я передаю идентификатор строки обратно в исходную форму в скрытое поле ввода через событие FileUploaded, связанное с объектом plupload.
<input type="hidden" name="vehicle_id_value" id="vehicle_id_value" value="" />
Работает как шарм!
Несколько файлов могли быть загружены как часть процесса загрузки. Ответы отдельных лиц больше недоступны, если на этапе UploadComplete
. Если вы хотите отобразить информацию об определенной загрузке файла, вы должны привязать к событию FileUploaded
вместо UploadComplete
. Что-то вроде :
uploader.bind('FileUploaded', function(upldr, file, object) { var myData; try { myData = eval(object.response); } catch(err) { myData = eval('(' + object.response + ')'); } alert(myData.result); });
Надеюсь, это поможет
вы пробовали эхо вместо смерти?
echo '{"jsonrpc" : "2.0", "result" : "'.$_REQUEST['unitID'].'", "id" : "id"}';
uploader.bind('FileUploaded', function (up, file, res) { var res1 = res.response.replace('"{', '{').replace('}"', '}'); var objResponse = JSON.parse(res1); alert(objResponse.fn); });