如何使用ajax调用获取数组列表数据(将数组列表数据控制器传递给ajax方法)

How to get array list data using ajax call (pass array list data controller to ajax method)

本文关键字:列表 数组 数据 ajax 方法 控制器 获取 何使用 调用      更新时间:2023-09-26

我的控制器类就是这样。

@RequestMapping(value = {"/ajaxcallabd"}, method = RequestMethod.POST)
    @ResponseBody// <== this annotation will bind Arr class and convert to json response.
    String addAnotherAppointmenttt(HttpServletRequest request, HttpServletResponse response, @RequestBody String userJson, Model model, BindingResult errors) {
        System.out.println("*******88888" + userJson);
        List<stageViiChartData> chartData = stageViiChartDataServices.findBystageViiChaData(userJson);
        return chartData.toString();
    }

上面的代码创建了List数据。我想使用ajax调用传递上面的列表数据。

我的ajax方法就是这样。

$.ajax({
                    type: "POST",
                    url: "/MobitelProgressTool/ajaxcallabd",
                    data: userJson,
                    contentType: "application/json; charset=utf-8",
                    // dataType: 'JSON',
                    datatype:'text',
                    success: function (mJSONArray) {
                        alert(mJSONArray);
                    },
                    failure: function (erroes) {
                        alert(erroes + ">>>>>");//handle it in a proper way
                    }
                });

mJSONArray以上是字符串类型。我想要Json型。我不知道我是怎么创建的。

我的chartData数组就是这样。

[[stageViiChartDataModal: Updated_Scope = Ericsson, Dependency = WIP, On_Air_date = 4-Dec-15], [stageViiChartDataModal: Updated_Scope = Ericsson, Dependency = WIP, On_Air_date = 9-Dec-15]]

只需执行..

success: function (mJSONArray) {
   var d = JSON.parse(mJSONArray);
   alert(d);
},

更改内容类型Content-Type: application/json,然后可以传递json数组列表数据。

public class AppConfig extends WebMvcConfigurerAdapter {
    @Override
    public void configureContentNegotiation(ContentNegotiationConfigurer configurer) {
        configurer.ignoreAcceptHeader(true).defaultContentType(MediaType.TEXT_HTML);
        configurer.ignoreAcceptHeader(true).defaultContentType(MediaType.APPLICATION_JSON);
    }