我正在尝试使用jQuery更新字符串数组。该服务器是一个启动Spring MVC服务器。当我进行POST时,来自服务器的响应是HTTP 403 Forbidden
。从jQuery发布到MVC Spring服务器响应HTTP 403禁止
弹簧控制器
@RequestMapping(value="getlistmap", method = RequestMethod.POST) public @ResponseBody String getListMapfromOneProject(HttpServletResponse response, Principal p,@RequestBody String respostas) throws IOException { System.out.println("A AJAX call has been detected!"); return "ok!"; }
POST代码:
var respostas=["hello","hi","bye"]; var urlprova = 'getlistmap'; $.ajax({ type: 'POST', url: urlprova, dataType: 'json', data: JSON.stringify(respostas), success: function (data) { alert("updated successfully"); }, error: function (xhr, ajaxOptions, error) { alert(err.status); alert('Cannot update, ' + err.responseText); }
});
控制台从服务器(URL和方法控制器似乎是正确的映射):
二○一四年十一月二十○日18:44:53.427 INFO 6724 --- [主要] oswshandler .SimpleUrlHandlerMapping:映射到[class org.springframework.web.servlet.resource.DefaultServletHttpRequestHandler]处理程序的URL路径[/] 2014-11-20 18:44:53.466信息6724 --- [main] swsmmaRequestMappingHandlerMapping:映射的“ {[/ login],methods = [GET],params = [],headers = [],consumes = [],生成= [],custom = []}“public org.springframework.web.servlet.ModelAndView palmaslab .mapas.controller.myController.login()2014-11-20 18:44:53.466 INFO 6724 --- [main] swsmmaRequestMappingHandlerMapping:映射“{[/ getlistmap],methods = [POST],params = [],headers = [],consumes = [] ,生成= [],自定义= []}“到公共java.lang.String palmaslab.mapas.controller.myController.getListMapfromOneProject(javax.servlet.http.HttpServletResponse,java.security.Principal,java.lang.String)throws java.io.IOException 2014-11-20 18:44:53.467 INFO 6724 --- [main] swsmmaRequestMappingHandlerMapping:映射“{[/ addProjectPostoSaude],methods = [GET],params = [],headers = [] ,消耗= [],产生= [],自定义= []}”到公共org.springframework.web.servlet.ModelAndView palmaslab.mapas.controller.myController.addProject()
您是否在使用Spring Security?如果是这样,请参阅我的[答案](http://stackoverflow.com/a/34319194/583237)。 – 2015-12-16 18:15:41