javascript - Ajax文件上传返回值的方法

标签 javascript jquery ajax spring file-upload

我正在使用Ajax upload通过 Ajax 上传文件的插件。它工作正常,文件已成功上传,我也可以在 onComplete 事件中访问其内容。现在我想返回上传文件的数据库 ID。如何将数据库 ID 从 Spring Controller 发送到 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
        }       
    });

Controller

 @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;
    }  

谢谢!

最佳答案

通过 echo 或服务器端文件 id 的任何表示进行渲染,它会返回到 JS 中的 file var 中。

如果您想同时返回内容和 ID,请使用

echo json_encode(array('content' => 'content', 'id' => 'yourId'));

在js中通过file = JSON.parse(file);之后的file.contentfile.id访问它>

如果您不使用 PHP,只需返回带有两个键的 JSON 编码数组 - idcontent

关于javascript - Ajax文件上传返回值的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9062241/

相关文章:

Javascript/jQuery 两个日期选择器计算日期范围

php - 我如何使用 Ajax 和 Jquery 从 PHP 数据库中提取信息,并用该信息填充元素?

java - 如何在ajax调用中获得超过1个响应

javascript - 如何在 Angular 5 中安全地存储本地存储

javascript - 使用 md-tab (css) 的类似标签的浏览器

javascript - 如何调用 Meteor 模板事件?

jquery - 如何加快IE8中innerHTML的读取速度?

javascript - 由于 undefined variable 而无法传递 AJAX 调用

JQuery 序列化表单 - Kendo UI 复制输入

javascript - 打开 HTML 文件时出现空白页