目前我正在尝试向我拥有的服务器发送帖子请求,该服务器配置为仅接受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
我错过了什么吗?
答案 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
}
});