如何从HTML表单提交JSON编码的帖子请求?

时间:2017-02-28 17:56:33

标签: html json

目前我正在尝试向我拥有的服务器发送帖子请求,该服务器配置为仅接受JSON数据。

不幸的是,当我通过浏览器的开发者控制台检查发布请求时,它会发送未编码为JSON的数据,但是作为编码网址发送,因此响应属于类型415,因为预期类型与提供的类型之间存在差异数据

表格:

Exception in thread "main" java.lang.NullPointerException
at start$Shop.tellMe(start.java:14)
at start.main(start.java:6)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:147)m

正如您所看到的,我理论上应该发送内容类型为json的请求,但是如果您检查发送的请求,您会看到内容类型仍然是编码的url,而标记" enctype ='应用/ JSON'"应该解决这个问题,除非我弄错了。
(imgur目前正常,所以我会在可能的情况下将此图像更改为更永久的链接)
https://puu.sh/unXtf/2610742d2f.png

我错过了什么吗?

1 个答案:

答案 0 :(得分:0)

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

$.ajax({
          url: 'http://yoururl',
          type: 'POST',
          data: yourFormDataSearilized
          contentType: 'application/json', // this is what you want
          success: function() {
            // check
          }
    });