我正在使用Ajax upload插件通过Ajax上传文件。它的工作很好,文件被成功上传,我也可以访问它在onComplete event.Now中的内容我想返回上传的file.How的数据库id可以将数据库id从我的spring控制器发送到onComplete函数吗?
这是我的JS
new Ajax_upload('#clickToUpload', {
action: '/portal/request/MRNFile/upload',
allowedExtensions: ['csv','jpeg'],
onComplete : function(file){
$('#progress').text('Uploaded ' + file + '. ');
//how to access database id here
}
});控制器
@RequestMapping(value = "/upload", method = RequestMethod.POST)
public Integer upload(@RequestParam("userfile") MultipartFile file) {
// This will save file to database and will return its id
return id;
} 谢谢!
发布于 2012-01-30 18:49:18
您必须返回json对象,而不是在upload()函数中返回id,如下所示
JSONObject json = new JSONObject();
json.put("id", database_id);
return json;并将onComplete:function(file)更改为onComplete:onComplete(文件,数据)
您可以这样访问id:data.id ( json对象中的键名)
发布于 2012-01-30 18:24:07
在服务器端通过echo或任何对文件id的重新表示来渲染,然后它会返回到JS中的file变量中。
如果希望同时返回content和id,请使用
echo json_encode(array('content' => 'content', 'id' => 'yourId'));在js中,在file = JSON.parse(file);之后通过file.content和file.id访问它。
如果您不使用PHP,只需返回带有两个键的JSON编码数组- id和content。
https://stackoverflow.com/questions/9062241
复制相似问题