我是Ajax的新手,并曾以为会有很多将数组从java传递到ajax的示例。但是,我找不到它们。我想将三个字符串传递给ajax,然后以HTML显示它们。我的Java代码是:

System.out.println("Authenticated");
String json = new Gson().toJson(questionList);
response.setContentType("application/json");
response.setCharacterEncoding("UTF-8");
response.getWriter().write(json);


Ajax是:

dataType: "json";
alert(responseJson);
var result = $.parseJSON(responseJson); <-- this line fails
$('#question1').val(result.question1);
$('#question2').val(result.question2);
$('#question3').val(result.question3);


警报显示“问题1是a ?,问题2是b ?,问题3是c?”。

如何传递每个字符串以显示在HTML中。我怀疑我需要以不同的方式在java中构建数组,以及以不同的方式在ajax中接收结果;但是,我找不到适用的示例。我不想使用unstring,因为问题可能包含“,”或其他使用的分隔符。

最佳答案

您从ajax获得的responseJosn已被解析。无需再次解析。这是一个Array。因此,JS代码类似于:

dataType: "json";           //this line should not be here
alert(responseJson);
//var result = $.parseJSON(responseJson); <-- this line fails
$('#question1').val(responseJson[0]);
$('#question2').val(responseJson[1]);
$('#question3').val(responseJson[2]);

10-08 11:48