AJAX请求返回“405 Method Not Allowed”

时间:2018-04-16 15:54:08

标签: javascript jquery json ajax

我正在尝试编写一个提交表单,该表单将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。发生同样的错误

2 个答案:

答案 0 :(得分:0)

从你的例外细节来看,它似乎是 无法执行:javax.ws.rs.NotSupportedException:RESTEASY003065:无法使用内容类型

要么传递无效的内容类型,要么根本不传递,我看到你的内容类型是application / jsonp。 只需尝试使用application / javascript。

答案 1 :(得分:0)

这个错误发生在我身上一次。我的java方法需要xml而不是json。这个注释(在java中)为我修复了它。

@Consumes(MediaType.APPLICATION_JSON)

我希望这有帮助!