【发布时间】:2012-04-06 13:37:34
【问题描述】:
也许我应该闭嘴继续前进,但有些事情告诉我事情并没有我想象的那么好,我需要解决它。
基本上,我正在做一个简单的 AJAX 调用来告诉服务器用户选择了什么:一个已经存在的项目或一个新项目。 AJAX 看起来像这样:
var dataString = 'existingProject='+ $("#existingProject").val() + '&newProjName=' + $("#newProjName").val();
//AJAX call to post selections to server
$.post('/myproj/manageProjects.html',dataString);
处理此 post 调用的 Spring MVC 签名如下所示:
@RequestMapping(value="/manageProjects",produces="application/json",method=RequestMethod.POST)
public StatusResponse manageProjects(
@RequestParam(value="existingProject",required=false) String existingProj,
@RequestParam(value="newProjName",required=false) String newProj,
HttpSession session){
让我大吃一惊的是,我正在使用我期望的正确变量和值调用 manageProjects。服务器处理请求并返回我创建的名为 StatusResponse 的 pojo,其中包含一个布尔值(成功或失败)和服务器反馈消息列表。我创建了一个简单状态为“true”的成功并将其传回。
客户端然后抛出一个 404 manageProjects.html not found 并继续其愉快的方式,就好像什么都没出错一样。
所以....它找到了吗?如果 StatusResponse 类型的 pojo 是来自 Spring MVC 控制器的不适当响应,那么正确的响应是什么?为什么消息会成功到达控制器,但客户端却收到 404?!
感谢您的任何见解......
脚注:如果这看起来与今天早些时候的问题相似,我们深表歉意。我从错误的角度提出了核心问题,并且在那篇帖子中造成了不必要的混乱......
【问题讨论】:
标签: jquery ajax spring model-view-controller