java - spring mvc中ajax调用接收json数组出错

标签 java json ajax spring spring-mvc

伙计们,我正在尝试在 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/

相关文章:

javascript - 将 HTML 返回给 AJAX Rails 调用

javascript - 将带有双引号的字符串作为参数从 php 传递到 javascript

java - 被 Java8 Collectors.toMap 搞糊涂了

java - 在 netbeans 中的桌面 Pane 上显示来自另一个 jinternalFrame 的 jInternalFrame

javascript - 如何用Chart.js实现连续线图中的不连续部分(跳跃)?

json - JSON 模式中的变量属性

c++ - Qt 使用 QNetworkReply 获取外部 IP 地址

php - 如何在 codeigniter 中上传之前验证图像长宽比

java - Vert.X SLF4J 日志记录

java - SQLITE 创建表错误