相关疑难解决方法(0)

application/x-www-form-urlencoded或multipart/form-data?

在HTTP中有两种POST数据的方式:application/x-www-form-urlencodedmultipart/form-data.据我所知,大多数浏览器只能在使用时上传文件multipart/form-data.在API上下文中使用其中一种编码类型时是否有任何其他指导(不涉及浏览器)?这可能基于:

  • 数据大小
  • 存在非ASCII字符
  • 存在于(未编码的)二进制数据上
  • 需要传输额外的数据(如文件名)

到目前为止,我基本上没有在网上找到有关使用不同内容类型的正式指导.

post http http-headers

1268
推荐指数
4
解决办法
116万
查看次数

如何在没有重定向的情况下提交html表单?

如果我有这样的形式:

<form action="/Car/Edit/17" id="myForm" method="post" name="myForm"> ... </form>
Run Code Online (Sandbox Code Playgroud)

如何在不通过JavaScript/Jquery重定向到另一个视图的情况下提交它?我从StackOverflow中读到了很多答案,但所有答案都将我重定向到POST函数返回的视图.

html javascript forms jquery

81
推荐指数
7
解决办法
13万
查看次数

在 fetch api 中使用 FormData() 不起作用

我通读了一遍,但找不到答案。

当我使用 FormData() 时,它返回状态 404 错误请求。

但是,如果我像 const requestBody 中那样传递数据(硬编码)(下面的示例),它就可以完美工作。

这是我的代码:

    var formData = new FormData();
    formData.append("nickname", "johxns");
    formData.append("password", "john_password");
    formData.append("email", "john@server.com");

    // If I do it this way, and assign this to body inside fetch, it works perfectly
    // const requestBody = '{"nickname": "johxns","password":"john_password","email":"john@server.com"}';

    fetch("http://localhost:5000/create_user", {
        // if instead of formData, I assign requestBody to body, it works!
        body: formData,
        headers: {
            "Content-Type": "application/json"
        },
        method: "POST"
    }).then(function(response) {
        return response.text();
    }).then(function(data){
        console.log('data', data);
    }).catch(function(err){
        console.err(err);
    });
Run Code Online (Sandbox Code Playgroud)

我已经尝试过 URLSearchParams,但仍然无法使其工作。 …

javascript form-data fetch

5
推荐指数
1
解决办法
8180
查看次数

标签 统计

javascript ×2

fetch ×1

form-data ×1

forms ×1

html ×1

http ×1

http-headers ×1

jquery ×1

post ×1