如何循环遍历每个数据对象的 ajax 请求并提取每个文件的文件名和消息?有人可以帮忙吗?
服务器端 Controller 将列表解析回客户端:
@RequestMapping(value = { "/fileUpload" }, method = RequestMethod.POST)
@ResponseBody
public List<FileUpload> uploadFile( @RequestParam("number") String number, @RequestParam("files[]") MultipartFile[] files, MultipartHttpServletRequest req, HttpServletResponse res)
{
WebUserSession session = (WebUserSession) req.getSession().getAttribute("webUserSession");
String windowsUsername = session.getUsername();
List<FileUpload> fileList = itsmService.uploadFile(files, windowsUsername, number);
int countTrue = 0;
int countFalse = 0;
for (FileUpload loopFile : fileList)
{
if (loopFile.getSuccess())
{
countTrue++;
}
else
{
countFalse++;
}
}
return fileList;
}
}
ajax 请求的一部分客户端数据对象:
success : function(data) {
FileUploadVisible(true);
console.log(data);
}
最佳答案
我不确定是否理解您的问题,但如果您的服务器返回如下数据:
[{"name":"toto.txt", "message":"bla", "success":true},{"name":"titi.txt", "message":"blabla", "success":true}]
你可以这样做:
success:function(fileList) {
fileList.forEach(function(file){
console.log("File name:" + file.name + ", msg:" + file.message + ", success: " + file.success);
})
}
或者如果您只想显示成功上传的文件:
success:function(fileList) {
var uploadedFiles = []
fileList.forEach(function(file){
if (file.success) uploadedFiles.push(file.name)
})
}
alert("Files uploaded: " + uploadedFiles.join(", ");
关于javascript - 循环数据对象并输出每个对象的对象文件名和消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43592117/