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

时间:2016-03-23 06:44:04

标签: javascript arrays ajax

我的控制器类就是这样。

@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]]

2 个答案:

答案 0 :(得分:0)

只是做..

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

答案 1 :(得分:0)

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

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);
    }