我们在Spring MVC中需要AJAX吗?当?

时间:2015-12-07 18:23:53

标签: javascript jquery ajax spring-mvc model-view-controller

我正在尝试学习Spring MVC,我想在MVC中学习。我有一个简单的Web应用程序,我从用户输入一个字符串,并将数据库中的一些结果显示给用户。所有这些都发生在没有页面刷新的单个页面中。我们可以在控制器中使用RequestParam并访问JSP页面中的元素。 (我在这个项目中使用Bootstrap) 例如在home.jsp中,

<form class="navbar-form navbar-right"> 
      <input type="text" name="myValues" class="form-control"  placeholder="product..." >     
</form>

,在控制器中,

@RequestMapping(value={"", "/", "/home"}, method = RequestMethod.GET)
public String home(Locale locale, Model model,@RequestParam(value="myValues", required=false) String myValues) {
    logger.info("Welcome home! The client locale is {}.", locale);

这将帮助我在控制器中获取表单查询字符串。

然后我可以进行必要的处理并在控制器中使用addAttribute来返回列表。 (Retailerdetail是我实现后端数据库的类)

ArrayList <RetailerDetail> rlist = mydata.getData();
        model.addAttribute("name",rlist);
return "home";

并将其显示在jsp页面中。

<c:forEach items="${name}" var="element"> 
    <tr>
       <td>${element.name}</td>
    </tr>
</foreach>

此时我不使用Jquery或js这样做。我见过一些代码,人们在Spring MVC中使用jquery或js来实现ajax。 我的问题是,这是AJAX吗?我们在不使用Javascript或Jquery的情况下获得与AJAX类似的功能。为什么在使用Spring MVC时使用jquery或js来实现AJAX。您能否举一个具体的例子来说明我可能要做同样的事情?我已经完成了MVC以及AJAX的教程,但是没有完全理解这个概念。我意识到我在这里缺少一些基本概念。但是如果你能解释的话,它会帮助我清楚地说清楚。

引用What is AJAX, really?

这是Nosredna的答案:

  

“英文粗略的想法:你有一个网页。有些事件(可以是   按下按钮或其他表单事件,或只是由某个触发的事件   计时器)发生并触发要求服务器的JavaScript代码   新信息(如GOOG股票的最新价值)。有个   收集您传递的信息的服务器上的一段代码   发回一些信息。这与页面服务工作不同   服务器通常有。当服务器应答时,回调函数   (调用服务器的JavaScript调用中指定的)   与服务器的信息。您的JavaScript代码使用信息   更新一些东西 - 比如股票图表。“

在我的代码中,不使用Javascript就可以实现相同的功能?这意味着我们可以在不使用任何Javascript的情况下实现AJAX功能?在这种情况下,我们什么时候真的必须使用Javascript来实现AJAX?

1 个答案:

答案 0 :(得分:1)

如果您在浏览器中打开开发人员工具(f12),打开网络选项卡,然后从您的网页执行请求,您将看到响应中返回整个html页面。

使用AJAX,服务器将只返回一个JSON键值映射。然后,您的javascript代码可以使用此代码填充页面的一部分,从而保持页面的大部分不变。

这更有效,更快捷。