首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将"enctype“属性设置为"application/json”

将"enctype“属性设置为"application/json”
EN

Stack Overflow用户
提问于 2015-08-11 06:50:11
回答 1查看 4.2K关注 0票数 4

下面是我提出帖子请求的代码:

代码语言:javascript
复制
function post(path, params, method) {
  method = method || "post"; // Set method to post by default if not specified.

  // The rest of this code assumes you are not using a library.
  // It can be made less wordy if you use one.
  var form = document.createElement("form");
  form.setAttribute("method", method);
  form.setAttribute("action", path);
  form.setAttribute("enctype", "application/json");
  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();
}

我试图将header中的Content-type设置为"application/json“,方法是将表单的enctype设置为"application/json”。但是,它不起作用。

我看到了一个关于支持enctype的"application/json“的enctype,但是它似乎还没有被接受。

有没有人想过如何在不诉诸AJAX的情况下发出POST请求并使用JSON而不是formdata作为数据格式?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-08-11 06:51:43

有没有人想过如何在不诉诸AJAX的情况下发出POST请求并使用JSON而不是格式数据作为数据格式?

没有办法做到这一点。关于作为表单编码类型的JSON的工作已被放弃。

如果您正在编写期望正常表单提交的HTTP端点,请编写它,以便它接受application/x-www-form-urlencodedmultipart/form-data编码的数据。

这些是表单提交的浏览器支持的唯一编码类型。 (不适用于机器处理的text/plain除外)。

发送JSON有效负载的唯一方法是使用Ajax,您拒绝它作为一个选项。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31934999

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档