当前位置: 首页 > 知识库问答 >
问题:

在成功的FormData POST请求中获取“404 Not found”

刘绍晖
2023-03-14

这可能很简单,但我现在真的无法全神贯注。
FormData和File按预期到达控制器,服务过程毫无异常地继续,但在浏览器中我得到一个状态代码:404 Not found这可能是什么原因?有什么想法吗?

Ajax调用

$.ajax({
    type: 'POST',
    contentType: false,
    processData: false,
    url: '/upload-form-and-attachment/',
    data: formData,
    dataType: 'text',
    success: function(response, textStatus) {
        displayPNotifyMessage(textStatus, '<spring:message code="something.success"/>'.format([response.operationData]), 'success');
    },
    error: function($data, textStatus, errorThrown) {
        displayPNotifyMessage(textStatus, errorThrown, 'error');
    },
    complete: function(){
        closeDialog();
    }
});
    var formData = new FormData();        
    formData.append('entityIds', $('#theDialog').data('brp').selectedEntityIds);
    formData.append('description', $("#description").val());
    formData.append('modeIds', $('select#otherEntityIds').val());
/*Here I append more fields to the form, and finally I append the input type file*/
    formData.append('attachment', $('input#attachment')[0].files[0]);
  @RequestMapping(value = "/upload-form-and-attachment/", method = RequestMethod.POST)
    public JSONResult uploadFormAndAttachment(
            @RequestParam("entityIds") List<Long> entityIds,
            @RequestParam("description") String description,
            @RequestParam("modeIds") List<Long> modeIds,
            MultipartHttpServletRequest request,
            HttpSession session) {          
        JSONResult jsonResult = new JSONResult();
        try {
            MultipartFile attachment = request.getFile("attachment");
            // Calling some service methods and passing them the form data
        } catch(Exception e) {
            LOGGER.error(e.getMessage());
        }       
        return jsonResult;
    }
POST /***/upload-form-and-attachment/ HTTP/1.1
Host: localhost:8080
Connection: keep-alive
Content-Length: 27274
Accept: text/plain, */*; q=0.01
Origin: http://localhost:8080
X-Requested-With: XMLHttpRequest
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.103 Safari/537.36
Content-Type: multipart/form-data; boundary=----WebKitFormBoundaryJqb7gbJhzfXRBRX7
Referer: http://localhost:8080/****
Accept-Encoding: gzip, deflate, br
Accept-Language: en-US,en;q=0.9
Cookie: JSESSIONID=*******
Cache-Control: no-store, no-cache, must-revalidate
Cache-Control: post-check=0, pre-check=0
Content-Language: en
Content-Type: text/html;charset=UTF-8
Date: Sat, 20 Apr 2019 05:24:22 GMT
Expires: Sat, 6 May 1995 12:00:00 GMT
Pragma: no-cache
Server: Apache-Coyote/1.1
Transfer-Encoding: chunked
X-Content-Type-Options: nosniff
X-Frame-Options: SAMEORIGIN
X-XSS-Protection: 1; mode=block
org.springframework.web.multipart.MultipartException: 
Failed to parse multipart servlet request; 
nested exception is org.apache.commons.fileupload.FileUploadException: 
the request was rejected because no multipart boundary was found
org.springframework.web.bind.MissingServletRequestParameterException:  
Required List parameter 'entityIds' is not present

共有1个答案

苍烨然
2023-03-14
var formData = {
    'entityIds', $('#theDialog').data('brp').selectedEntityIds,
    'description', $("#description").val(),
    'modeIds', $('select#otherEntityIds').val()
}

或者尝试使用@ModelAttribute接收数据

 类似资料:
  • 我正在使用reverfit/robospice在我构建的应用程序中进行api调用,该应用程序带有一个reverfitGsonSpiceService。所有响应都使用GSON转换器转换为POJO,但是我需要从response头中检索一些信息。我找不到任何获取标头的方法(只有在请求不成功的情况下才能获取标头,因为原始响应是在错误对象中发送的!)如何在转换前截取响应以抓取头?

  • 我用的是Spring靴。我已经为SOAP web服务编写了一个ClientInterceptor,我想记录我要向其发送请求的URL,并且我想在HandlerResponse方法中这样做。然而,我找不到一个方法来做到这一点。有可能吗?任何帮助都会很好。 创建restTemplate的方式

  • 我需要帮助发送请求到FTP服务器下载文件...我已经写了下面的代码下载一个文件使用HTTP它工作成功,但我不知道如何做一个FTP.....由于我已经使用套接字来建立连接,它必须通过这种方式来完成,请建议我下载一个FTP文件的请求(发送到服务器)的格式是什么...... ///////////////编码////////////////////////////////////////////////

  • 一个看似超级直截了当的问题已经困扰了几天: 我在中使用RestTemplate发出一个简单的GET请求,但我一直在获取 我做了研究并遵循了本教程,还通过JSON中的RestTemplate查看了来自此POST请求的解决方案。但他们都没有帮助,以下是我的代码: 是在Postman中运行良好。是一个逗号分隔的列表,如下所示: 我还尝试使用如下: 这给了我一个错误: 我不确定我错过了什么或做错了什么,但

  • 问题内容: 如何在支持JSF页面的bean中获得请求URL?我一直在浏览FacesContext文档,发现的最佳方法似乎很长: 编辑:功能要求 这里的要求是我们需要第三方javascript实用程序的完整URL。该实用程序的使用或体系结构不适用于JSF,但除此调用外的所有内容都适用。我发现的方法可以用,但是深入研究FacesContext感觉不对。另外,我希望可以使用JSF表达式语言调用此方法,因

  • 问题内容: 如何在Jinja2模板中检索请求参数? 问题答案: 我对这个答案有些迟,但是其他解决方案并不能真正解决你使用Flask的问题。 将Flask与Jinja2一起使用的事实使你的情况与其他框架有所不同。Flask实际上使所有Jinja2模板中都可以使用一些全局变量,而无需你将它们显式传递给模板。 在http://flask.pocoo.org/docs/templating/#standa