在过去的几个小时里,我一直在尝试获取一些东西……在队列完成后从 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"}');
所以基本上当我在上传脚本中创建 shell 行以关联图像时,我通过绑定到 plupload 对象的 FileUploaded 事件将行 ID 传递回原始表单到隐藏的输入字段。
<input type="hidden" name="vehicle_id_value" id="vehicle_id_value" value="" />
奇迹般有效!