伙计们,我正在尝试在 spring MVC 中的 ajax 调用中接收 json 数组,它进入错误函数而不是成功..这是我的代码 web.xml
<servlet>
<servlet-name>sdnext</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name><param-value>/WEB-INF/config/sdnext-servlet.xml</param-value></init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>sdnext</servlet-name>
<url-pattern>/spring/</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>
index.jsp
<button type="button" onclick="ajaxCall()">List Employees</button>
<script>
var grid;
ajaxCall = function() {
$.ajax({
url : '/Spring3HibernateApp1/spring/index',
type : 'POST',
dataType : 'json',
error : function(that, e) {
alert(e);
},
success : function(data) {
alert(JSON.stringify(data.MyList));
var newData = JSON.stringify(data.MyList);
grid = new GridLibrary(newData);
grid.display();
}
});
}
员工 Controller
public class EmployeeController {
@Autowired
private EmployeeService employeeService;
@RequestMapping(value = "/spring/index")
public @ResponseBody void doPost(HttpServletResponse response) throws JSONException, IOException {
PrintWriter out = response.getWriter();
JSONObject obj = new JSONObject();
JSONArray list = new JSONArray();
list.put(employeeService.listEmployeess());
obj.put("MyList", list);
response.setContentType("application/json");
response.setCharacterEncoding("UTF-8");
out.write(obj.toString());
out.close();
}
}
它给出了我的 jquery.min.js:4 POST http://localhost:8080/Spring3HibernateApp1/spring/index 404(未找到) 虽然我测试了 Controller 并且它返回了一个有效的 json ..有什么帮助吗?
最佳答案
将 Controller 更改为:
@RequestMapping(value = "/spring/index")
公共(public)@ResponseBody JSONArray doPost(HttpServletResponse响应)抛出JSONException,IOException {
JSONArray 列表 = new JSONArray();
list.put(employeeService.listEmployeess());
返回列表;
}
关于java - spring mvc中ajax调用接收json数组出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36397877/