Spring3,Ajax和JQuery:为什么我的请求没有到达我的控制器?
答复:Spring3,Ajax和JQuery:为什么我的请求没有到达我的控制器?,jquery,ajax,spring-mvc,Jquery,Ajax,Spring Mvc,答复: 我的Spring3JavaWebApp是acme。我在JQuery电话中联系了Spring3Java服务器端组件: $.post("/test_ajax", {state:"Alaska"}); $.post("/test_ajax", {state:"Alaska"}); 我需要在URL中放置上下文根,即webapp名称: $.post("/acme/test_ajax", {state:"Alaska"}); $.post("/acme/test_ajax", {sta
我的Spring3JavaWebApp是acme。我在JQuery电话中联系了Spring3Java服务器端组件:
$.post("/test_ajax", {state:"Alaska"});
$.post("/test_ajax", {state:"Alaska"});
我需要在URL中放置上下文根,即webapp名称:
$.post("/acme/test_ajax", {state:"Alaska"});
$.post("/acme/test_ajax", {state:"Alaska"});
我正在学习Spring3、Ajax和JQuery。我为自己制作了一个小的网络应用程序acme,学习如何连接这三种技术。从我的日志语句中可以看出,在JQuery POST请求之后,没有调用控制器HelloController中的处理程序方法getAddressList
我一开始打JQuery电话是因为:
$.post("/test_ajax", {state:"Alaska"});
下面引用我的代码
任何线索都将不胜感激。
提前谢谢
史蒂夫
hello.jsp
acme-servlet.xml:
web.xml:
pom.xml:
在我看来,您试图向服务传递一个JS对象,而不是JSON字符串。有一个jQuery插件可以将JS对象解析为JSON字符串,正如前面在另一个stackoverflow问题中所回答的那样 您可以在以下问题中获得插件和更多信息:
继续编码:我的Spring3JavaWebApp是acme。我在JQuery电话中联系了Spring3Java服务器端组件:
$.post("/test_ajax", {state:"Alaska"});
$.post("/test_ajax", {state:"Alaska"});
我需要在URL中放置上下文根,即webapp名称:
$.post("/acme/test_ajax", {state:"Alaska"});
$.post("/acme/test_ajax", {state:"Alaska"});
我也经历过同样的问题 我所有的AJAX请求都被发送到根上下文 一个简单的修复方法是省去第一个斜杠,因此url被附加到应用程序上下文中
在您的例子中:$.postest_ajax,{state:Alaska} 我仍然在学习所有这三件事,并且只是从JQuery和Ajax开始。我不太理解另一篇文章。你能把你的答案再细分一下吗?你是说我需要JQuery提供一个库/*.js文件,而不仅仅是我拥有的,还是说我需要更改代码?我用这篇文章来帮助我学习,这就是我模拟测试程序的依据。它没有提到任何关于插件的内容。当然:基本上,jQuery插件是在HTML中导入的*.js文件。神奇的是,您将使用$global获得所需的函数。但我的错误是,它不是一个jQuery插件,它是一个外部库,与我之前所说的没有太大区别。在评论中,有人提到使用浏览器原生JSON函数,如JSON.stringify。值得一试。如果我理解正确,我将向Spring发送一个javascript字符串/对象,因此Spring将忽略它,而不是调用处理程序。所以,我需要将POST参数状态作为JSON字符串发送?我根据您的评论更新了我的原始POST。我还没有到达弹簧手柄嗯,看到你的代码,你可以试着通过亚利桑那州,作为一个纯字符串。问题是您试图将实际对象传递给服务器,而不是其字符串表示形式。
$.post("/acme/test_ajax", {state:"Alaska"});