【发布时间】:2018-03-26 10:55:22
【问题描述】:
我是 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,因为问题可能包含“,”或使用的其他分隔符。
【问题讨论】:
-
json在String json = new Gson().toJson(questionList);之后得到什么?因为从警报显示来看,它似乎不是一个有效的 json 字符串。 -
我添加了"System.out.println("json = " + json); 结果是:"json = ["问题1是a?","问题2是b?", "问题 3 是 c?"]"。
-
对我来说,您正在重新解析已经存在于 json 中的字符串。你设置了 application/json ,所以我看不到在 ajax 中解析的需要