【发布时间】:2017-02-28 17:56:33
【问题描述】:
目前我正在尝试向我拥有的服务器发送一个发布请求,该服务器配置为仅接受 JSON 数据。
不幸的是,当我通过浏览器的开发人员控制台检查发布请求时,它发送的数据不是编码为 JSON,而是编码为 url,因此响应类型为 415,因为预期类型和提供的类型之间存在差异数据。
形式:
<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'" 应该可以解决这个问题,除非我弄错了。
(像往常一样,imgur 目前已关闭,因此我会尽可能将此图片更改为更永久的链接)
https://puu.sh/unXtf/2610742d2f.png
我错过了什么吗?
【问题讨论】:
-
{"Email":"test@gmail.com"}应该只是test@gmail.com -
这不是当前的问题,因为问题是它没有被编码为 json。如果您将其更改为原始文本而不是 json 格式的字符串,它仍然是 url 编码的,这是一个问题。一旦我解决了这个问题,我显然需要稍微更改它,但是由于服务器需要 json 并且它正在接收 url 编码的数据,这就是导致 415 错误的原因。