gpt4 book ai didi

javascript - 错误表明 POST 请求不包含多部分/表单数据或多部分/混合流,即使我明确定义了它

转载 作者:行者123 更新时间:2023-12-03 16:28:50 25 4
gpt4 key购买 nike

我正在尝试在 Groovy 服务器页面中实现一个链接,该页面将包含他们单击的链接文本的 POST 请求发送到另一个 GSP,然后加载该页面。我已经从 StackOverflow 上的其他问题中尝试了几种不同的解决方案来解决这个问题,但每一个最终都会引发 org.apache.tomcat.util.http.fileupload.FileUploadBase$InvalidContentTypeException: the request doesn't contain a multipart/form-data or multipart/mixed stream, content type header is null。错误。这里发生了什么?我也对不同的方法感兴趣。

要求:

<script type="text/javascript" src="resources/post.js"></script>
<a href="actions/manage.gsp" onclick="post('/actions/manage', {name: '${file}'});">${file}</a>

post.js:

function post(path, params, method) {
method = method || "post";
var form = document.createElement("form");
form.setAttribute('enctype','multipart/form-data').
form.setAttribute("method", method);
form.setAttribute("action", path);

for(var key in params) {
if(params.hasOwnProperty(key)) {
var hiddenField = document.createElement("input");
hiddenField.setAttribute("type", "hidden");
hiddenField.setAttribute("name", key);
hiddenField.setAttribute("value", params[key]);

form.appendChild(hiddenField);
}
}

document.body.appendChild(form);
form.submit();
}

管理.gsp:

<%! static output = "text/html" %>
Testing!
<% log.info("Found ${request.parts.size()} parts") %>

最佳答案

只是在 form.setAttribute('enctype','multipart/form-data'); 之后删除点错字

function post(path, params, method) {
method = method || "post";
var form = document.createElement("form");
form.setAttribute("enctype","application/x-www-form-urlencoded");
form.setAttribute("method", method);
form.setAttribute("action", path);

for(var key in params) {
if(params.hasOwnProperty(key)) {
var hiddenField = document.createElement("input");
hiddenField.setAttribute("type", "hidden");
hiddenField.setAttribute("name", key);
hiddenField.setAttribute("value", params[key]);

form.appendChild(hiddenField);
}
}

document.body.appendChild(form);
form.submit();
}

关于这个概念,我想为您提供:

function post(path, params, method) {
method = method || "post";
var formData = new FormData();
for(var key in params) {
if(params.hasOwnProperty(key)) {
formData.append(key,params[key] );
}
}

$.ajax({
type: method,
url: path,
data: formData,
cache: false,
contentType: false,
processData: false
}).done(function( result ) {
//alert(result)
});
}

关于javascript - 错误表明 POST 请求不包含多部分/表单数据或多部分/混合流,即使我明确定义了它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32146491/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com