Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Spring3,Ajax和JQuery:为什么我的请求没有到达我的控制器?_Jquery_Ajax_Spring Mvc - Fatal编程技术网

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"});