我已经使用JAX-RS(Jersey 2.0)实现了一个小的REST
API,并且正在使用AJAX调用该API,GET和POST都可以正常工作,但是当我调用任何PUT或DELETE方法时,得到的只有以下内容错误信息:
加载资源失败:服务器的响应状态为403(禁止)
这是Java中 DELETE 方法的示例:
@Path("/deleteSomething")
@DELETE
@Consumes("application/json")
public void delete(String json) throws ParseException {
JSONParser parser = new JSONParser();
Object obj = parser.parse( json );
JSONObject object=(JSONObject)obj;
String id = (String) object.get("id");
System.out.println("ID : " + id);
//DO SOMETHING HERE
}
这是使用AJAX的Javascript调用:
function deleteSomethingAjax() {
$.ajax({
url: API_URI + "/deleteSomething", //API_URI is the API's uri
contentType : 'application/json',
data: idToJSON(), // this function just returns a JSON obj {"id":"myID"}
type: 'DELETE',
success : function(data, textStatus, jqXHR) {
alert( "Fine!" );
},
error : function(jqXHR, data, textStatus, errorThrown) {
alert('WOOPS, something wrent wrong...');
}
});
}
任何帮助都感激不尽!!谢谢!!
这个问题与CORSFilter设置有关,我在 web.xml 文件中将其设置为错误。这是CORSFilter的一部分,在 web.xml
内进行了适当设置:
<filter>
<filter-name>CorsFilter</filter-name>
<filter-class>org.apache.catalina.filters.CorsFilter</filter-class>
<init-param>
<param-name>cors.allowed.origins</param-name>
<param-value>*</param-value>
</init-param>
<init-param>
<param-name>cors.allowed.methods</param-name>
<param-value>GET,POST,HEAD,OPTIONS,PUT,DELETE</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>CorsFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
问题内容: 我让库的其余部分完全正常工作,只是试图生成api键,并通过ajax执行时禁止抛出403。 我跟踪到REST_Controller下的_remap函数..好像我不正确地调用url一样? 工作流程: 他们注册一个帐户后,单击“生成密钥”后,将在site1.com上使用以下表格。 ajax呼叫: GitHub上的REST-SERVER:https : //github.com/philstu
问题:Swagger UI openAPI的Get请求正在工作,而其他方法类型给出403错误。 屬地: 摇摆配置: 安全配置: 我们还尝试忽略这些路径:WebSecurity中的< code>/swagger-resources/**,/webjars/**,仍然不起作用。 Post请求错误消息403 原始编辑:进一步研究发现,这可能是由于nginx代理。在我的本地服务器上一切正常,但在其他托管在
当我尝试使用< code>DELETE方法时,出现了< code>403 delete forbidden错误。 我正在使用spring mvc rest实现 我尝试在我的文件中添加一些xml标签,正如其他一些帖子中建议的那样 如下 但这对我不起作用。在SpringServlet中还有其他配置要做吗。xml或在web中。xml? 有人能帮我吗?
在一个采访问题中,我被要求解释一种情况,即使用并发哈希图与使用哈希图相比是正确的方法。在板上有两列t1和t2(对应于thread1和thread2),我应该编写一系列操作(如,等)使用concurrenthashmap与hashmap将产生预期结果。 我试图用迭代器举一个例子,但这不是面试官想要的。他在为线程1和线程2寻找一系列的放和拿操作。他说假设我们从不迭代,我们只有放和拿操作。 我查看了SO
我已经在这个问题上坚持了两天了,我在StackOverflow和Laracasts上寻找的所有解决方案都没有结果。 我将Laravel5.5与jQuery一起使用,并在Firefox中进行测试。 我的AJAX GET调用工作正常,但是,当我尝试在数据库中推入一个条目时,我得到一个403错误。 我的标头包含CSRF令牌: 为在我的控制器中调用的每个表创建模型: 这里是AJAX调用,它基本上检查我的Q
问题内容: 我正在使用jQuery AJAX对Web服务进行查询。我的查询如下所示: 执行此操作时,我收到状态错误403。我不明白为什么我的通话导致状态代码为403。我控制着服务的安全性,并将其标记为完全开放。我知道密钥是有效的,因为我在另一个可以使用的电话中使用了它。这是有效的呼叫: 我知道这是两个不同的端点。但是我100%确信这不是服务器端身份验证或权限错误。再一次,一切在服务器端都是开放的。