我有一个简单的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调用呢?
答案 0 :(得分:1)
您正在进行正常的表单提交,这将重新加载页面。您必须使用XmlHttpRequest执行ajax POST / GET,获取服务器正在生成的JSON并更新DOM。
答案 1 :(得分:0)
我的特定问题已通过将“提交”输入更改为“按钮”输入
来解决