gpt4 book ai didi

javascript - spring mvc 3 + jquery + AJAX + $.get - 值未从 Controller 返回到回调方法

转载 作者:行者123 更新时间:2023-11-29 10:20:30 25 4
gpt4 key购买 nike

我是 AJAX 的新手,目前正在学习将其与 Spring MVC 结合使用。我也面临同样的问题。

在继续处理我正在处理的实际实时要求之前,我正在测试整个 AJAX+Spring MVC+jquery 组合,并使用一些非常基本的东西来让我的理解正确。

我在页面上有一个搜索框+“提交”按钮。我在使用 $.get 提交时向 Spring Controller 发送硬编码文本。然后我将另一个文本从该 Controller 发送回回调函数,并尝试使用“警告”框在回调函数中显示返回的文本。这似乎不起作用。

我看到正在调用回调函数(因为回调函数内的“警报”被触发)所以我有点假设控制权正在转移到 Controller 并返回到回调方法,但我是无法弄清楚为什么从 Controller 返回的文本没有显示在回调方法的警告框中。不确定我在这里缺少什么来捕获回调方法中的返回值。

非常感谢您对此的回应和帮助。

谢谢。

文本框和提交按钮的 HTML:

    <div class = "searchcontactform">
<form id = "searchcontactform" name="searchcontactform" method="GET">
<input type = 'text' size='25' name = "searchlastname" id = "searchlastname" value='Enter Last Name to Search'/>
<input type = "submit" value="Find">
</form>
</div>

在提交上述表单时触发的 JavaScript:

    <script type="text/javascript" src="${pageContext.request.contextPath}/resources/scripts/jquery.min.js"></script>
<script type="text/javascript">

$(document).ready(function( ) {
$('#searchcontactform').submit(function(){

$.get("ContactList-JPA/search", {textsent : 'Hello Controller'},callback);

function callback(textreceived){
alert('In Callback. Text Received is: '+textreceived);
};
});
});

Controller :

        @RequestMapping(value = "/search", method = RequestMethod.GET)
public @ResponseBody String searchcontact(@RequestParam(value="textsent") String textsent){
return textsent;
}

POM.xml 中的 Jackson 依赖:

           <dependency>
<groupId>org.codehaus.jackson</groupId>
<artifactId>jackson-mapper-asl</artifactId>
<version>1.7.1</version>
</dependency>

在 servlet-context.xml 和 root-context.xml 中驱动的注释:

    <!-- Enables the Spring MVC @Controller programming model -->
<annotation-driven />

最佳答案

首先,将return false放在提交事件处理程序的末尾

$('#searchcontactform').submit(function(){

$.get("ContactList-JPA/search",
{
textsent : 'Hello Controller'
},
function(textreceived){
alert('In Callback. Text Received is: '+textreceived);
});
return false;
});

如果这不起作用,请尝试使用 Google Chrome,您可以调试您的 javascript 应用程序,在回调中和 $.get 行放置一个断点

关于javascript - spring mvc 3 + jquery + AJAX + $.get - 值未从 Controller 返回到回调方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13146052/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com