Spring JSON数据不是异步返回的

时间:2015-03-11 17:53:20

标签: java spring spring-mvc

我有一个简单的Spring WebMVC应用程序,它在表单提交时返回一些JSON数据,以便填充表格

@RestController(value = "/search")
public class MyController{

@RequestMapping(produces="application/json", method = RequestMethod.GET)
public @ResponseBody List<MyData> getMyData(@RequestParam("criteria") String criteria) { 
    List<MyData> mydata = dataRepository.findById(criteria);
    model.addAttribute("MyData", mydata);
    return mydata;
}

这是我的表格:

<form method="get" id="searchForm" action="/myapp/search"> 
    <input type="text" id="searchBox" name="criteria"><br>
    <input type="submit" id="searchButton" value="Search"><br>
</form>

这是我在我的pom.xml中使用的json服务

<dependency>
    <groupId>com.fasterxml.jackson.jaxrs</groupId>
    <artifactId>jackson-jaxrs-json-provider</artifactId>
    <version>2.5.1</version>
</dependency>

在后端有一个Java配置,用于设置我的资源处理程序和Dispatcher servlet。

我试图返回此JSON数据而不返回全新视图或重新加载当前页面。

基本上我想要从

返回的数据
http://localhost:8090/myapp/search?critera=ABC

显示在同一页面上
http://localhost:8090/myapp

BONUS:怎么能用Alloy UI调用呢?

2 个答案:

答案 0 :(得分:1)

您正在进行正常的表单提交,这将重新加载页面。您必须使用XmlHttpRequest执行ajax POST / GET,获取服务器正在生成的JSON并更新DOM。

答案 1 :(得分:0)

我的特定问题已通过将“提交”输入更改为“按钮”输入

来解决