我正在尝试编写一个提交表单,该表单将JSON
对象发送到另一台服务器上的应用程序,但我在控制台中一直收到405 Method Not Allowed
错误。
应用程序已设置为接受POST
,这就是我发送的内容,因此我在错误发生的位置丢失了。控制台Loading failed for the <script> with source "Request URL"
这是应用程序读取JSON的方式或发送JSON的格式的问题吗?
来自应用服务器
Failed to execute: javax.ws.rs.NotSupportedException: RESTEASY003065: Cannot consume content type
代码
json = JSON.parse(string);
$.ajax({
type: 'POST',
dataType: "jsonp",
contentType: "application/json",
url: "http://test:8080/request/committee",
data: json,
cache: false,
success: function (response) {
$("#successModal").modal('show');
},
failure: function (response) {
$("#failureModal").modal('show');
},
error: function (response) {
$("#failureModal").modal('show');
}
});
e.preventDefault();//prevents the form from being submitted by default
请求标题
Accept: */*
Accept-Encoding: gzip, deflate
Accept-Language: en-US,en;q=0.5
Connection: keep-alive
Host: test:8080
Referer: http://www.form.com/servlet/rsvp.jsp?location=110%20Road%20Bolton%20Landing,%20NY&purpose=%20TPAS%20Teleconference%20(RSVP%20here%20to%20attend%20in-person)&visitDate=2018-03-15&visitStartTime=6:00%20AM&visitEndDate=7:00%20AM&committee=all
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:59.0) Gecko/20100101 Firefox/59.0
响应标题
HTTP/1.1 405 Method Not Allowed
Allow: POST, OPTIONS
Connection: keep-alive
Content-Length: 0
Date: Mon, 16 Apr 2018 15:38:24 GMT
修改:更正contentType
。发生同样的错误
答案 0 :(得分:0)
从你的例外细节来看,它似乎是 无法执行:javax.ws.rs.NotSupportedException:RESTEASY003065:无法使用内容类型
要么传递无效的内容类型,要么根本不传递,我看到你的内容类型是application / jsonp。 只需尝试使用application / javascript。
答案 1 :(得分:0)
这个错误发生在我身上一次。我的java方法需要xml而不是json。这个注释(在java中)为我修复了它。
@Consumes(MediaType.APPLICATION_JSON)
我希望这有帮助!