【问题标题】:Using javascript to generate a POST form?使用 javascript 生成 POST 表单?
【发布时间】:2016-07-08 23:57:47
【问题描述】:

我正在尝试使用 javascript 生成将发布到网络服务的表单。但是,我一直无法正确格式化我的数据。它需要在json中吗?我将如何制作这个表格。

var form = document.createElement('form');
with (form) {
    setAttribute("name", "theForm"); // give form a name
    setAttribute("action", pathTOGO); // give form an action
    setAttribute("method", "post"); // give form a method

}


document.getElementsByTagName("body")[0].appendChild(form);
document.forms[0].submit();

但是,pathTOGO 需要在帖子中包含 json 格式的信息。 如何使用 javascript 指定此表单将发送

{
   "Auth": "",
   "User":"",

}

字符串的填写位置以及确保要发布的内容

Content-Type = application/json

非常感谢任何帮助。基本上我要问的是如何创建一个表单来使用 javascript 发布这个确切的 HTTP 帖子?

POST /WEBSITEPOSTLOCATION HTTP/1.1
Host: WEBSITE
Content-Type: application/json

{
    "Auth":"SOMEVAL",
    "User":"SOMENAME"
}

非常感谢。

【问题讨论】:

  • 你会使用 ajax 而不是表单
  • 那有没有办法做到这一点。我无法使用 ajax 或任何其他方式而不是表单。 @charliefl
  • 您可以使用代理将表单数据转换为 json。表单不作为 json 发送

标签: javascript json forms post


【解决方案1】:

表单以 name=value 的形式将数据发布到服务器,因此为了使用表单执行此操作,您需要在参数上发布字符串化的 JSON 对象。 例如,您可以在表单中放置一个名为 json 的输入 (type="text"),并将其作为 JSON 对象 (inputelement.value=JSON.stringify(myJsonObject)) 的值。然后,服务器将获取名称为 json 和 json 文本的 a 参数。

但是您应该使用 ajax 请求来更轻松地发布您的数据,即使您从按钮调用它也是如此。

这是一个类似的问题: How to send a JSON object using html form data

【讨论】:

    猜你喜欢
    • 2016-06-28
    • 1970-01-01
    • 1970-01-01
    • 2019-10-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多