【发布时间】:2014-11-21 12:58:10
【问题描述】:
我正在尝试使用 jQuery 更新字符串数组。该服务器是一个启动 Spring MVC 服务器。当我进行 POST 时,服务器的响应是 HTTP 403 Forbidden。
弹簧控制器
@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); }});
Console 来自服务器(URL 和方法 Controller 似乎映射正确):
2014-11-20 18:44:53.427 INFO 6724 --- [main] o.s.w.s.handler.SimpleUrlHandlerMapping:将 URL 路径 [/] 映射到 [class org.springframework.web.servlet.resource.DefaultServletHttpRequestHandler] 类型的处理程序上2014-11-20 18:44:53.466 INFO 6724 --- [main] s.w.s.m.m.a.RequestMappingHandlerMapping:映射“{[/login],methods=[GET],params=[],headers=[],consumes=[],生产=[],custom=[]}" 到公共 org.springframework.web.servlet.ModelAndView palmaslab.mapas.controller.myController.login() 2014-11-20 18:44:53.466 INFO 6724 -- - [main] s.w.s.m.m.a.RequestMappingHandlerMapping : 将“{[/getlistmap],methods=[POST],params=[],headers=[],consumes=[],produces=[],custom=[]}”映射到公共 java .lang.String palmaslab.mapas.controller.myController.getListMapfromOneProject(javax.servlet.http.HttpServletResponse,java.security.Principal,java.lang.String) 抛出 java.io.IOException 2014-11-20 18 :44:53.467 INFO 6724 --- [主] s.w.s.m.m.a.RequestMappingHandlerMapping:映射“{[/ addProjectPostoSaude],methods=[GET],params=[],headers=[],consumes=[],produces=[],custom=[]}" 到公共 org.springframework.web.servlet.ModelAndView palmaslab.mapas。控制器.myController.addProject()
【问题讨论】:
-
你在使用 Spring Security 吗?如果是这样,请参考我的answer。
标签: java jquery spring post httpresponse