首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何从HTML表单提交JSON编码的post请求?

如何从HTML表单提交JSON编码的post请求?
EN

Stack Overflow用户
提问于 2017-02-28 17:56:33
回答 1查看 1.2K关注 0票数 0

目前,我正试图向我拥有的服务器发送一个post请求,该服务器配置为只接受JSON数据。

不幸的是,当我通过浏览器的developer控制台检查post请求时,它发送的数据没有编码为JSON,而是作为编码的url发送,因此响应类型为415,这是由于预期类型和提供的数据之间的差异。

表格:

代码语言:javascript
运行
复制
<form action='http://myhost.elasticbeanstalk.com/API/Beta/Register' method = 'post' enctype='application/json'>
 Email: *<br>
 <input  type='text' name='Email' style='width: 500px;'  value='{"Email":"test@gmail.com"}'><br>
<br>
(Fields denoted with * are mandatory)
<br>
<input type='submit' value='Apply' style='float: right;'>
</form>

正如您所看到的,理论上我应该发送一个内容类型为json的请求,但是如果您检查发送的请求,您会发现内容类型仍然是一个编码的url,但是标记"enctype='application/json'“应该修复这个请求,除非我弄错了。

(印古尔像往常一样,目前已经关闭,所以我会在可能的情况下将这个图片改为一个更永久的链接)

https://puu.sh/unXtf/2610742d2f.png

我是不是遗漏了什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-02-28 18:07:40

浏览器本机不支持JSON作为带有HTML的媒体类型。使用XMLHttpRequest/Ajax以JSON形式提交表单。使用jQuery的虚拟示例:

代码语言:javascript
运行
复制
$.ajax({
          url: 'http://yoururl',
          type: 'POST',
          data: yourFormDataSearilized
          contentType: 'application/json', // this is what you want
          success: function() {
            // check
          }
    });
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42515656

复制
相关文章

相似问题

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