【发布时间】:2015-01-18 20:49:35
【问题描述】:
我正在尝试将一个字符串数组从 jQuery 发布到 MVC Spring Server。
邮政编码:
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); }});
控制器方法:
@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!"; }
我尝试了很多来自谷歌的代码,但其中任何一个似乎都可以正常工作,所以我在上面输入了我认为是最好的选择。
有什么想法吗?
更新:@Guffa 给我更正后,这个 POST 的响应是,HTTP 403 Forbidden 他说问题可能是服务器没有映射 url,但我们可以证明这是映射的:
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] swsmmaRequestMappingHandlerMapping:映射“{[/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] swsmmaRequestMappingHandlerMapping : Mapped "{[/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 --- [main] swsmmaRequestMappingHandlerMapping:映射“{[/addProjectPostoSaude],methods=[GET],params=[],headers=[],consumes=[],生产=[],custom=[]}" 到公共 org.springframework.web.servlet.ModelAndView palmaslab.mapas.controller.myController.addProject()
...
【问题讨论】:
标签: jquery ajax spring spring-mvc post