我是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]);