Я пытаюсь написать один объект Array с использованием PrintWriter.out.write()
в качестве ответа на функцию JavaScript (AJAX),
Возможно ли это? или мне нужно будет преобразовать массив таким же образом перед отправкой?
Пытаясь избежать создания разделенных запятыми, а затем разборе в JSНапишите ответ массива от сервлета к JavaScript?
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException {
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.write(listDir());
}
private File[] listDir(){
File folder = new File("/home/rob/");
File[] listOfFiles = folder.listFiles();
//System.out.println("Number of files found: " + listOfFiles.length);
return listOfFiles;
}
Хотел бы то перебирать файлы в вызывающей функции JavaScript AJAX:
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
for (var i = 0; i < xmlhttp.responseText.length; i++) {
alert(xmlhttp.responseText[i]);
}
}
Поскольку вы не хотите получать ответ от сервлета в текстовом формате, вам придется преобразовать результат в формат JSON, вы можете проверить хороший пример в этом ответе http://stackoverflow.com/a/ 4113258/2727401 – fujy