ajax+file+json
导读:AJAX是一种与后端服务器进行异步通信的技术。使用AJAX可以在不刷新整个页面的情况下,更新页面的部分内容。在与后端服务器进行通信时,通常会使用XMLHttpRequest对象。除了可以用XMLHttpRequest对象发送和接收XML格式...
AJAX是一种与后端服务器进行异步通信的技术。使用AJAX可以在不刷新整个页面的情况下,更新页面的部分内容。在与后端服务器进行通信时,通常会使用XMLHttpRequest对象。
除了可以用XMLHttpRequest对象发送和接收XML格式的数据之外,还可以使用该对象与后端服务器进行文件传输。在传输文件时,需要使用FormData对象将文件数据包装起来。
var formData = new FormData();
formData.append("file", fileInput.files[0]);
var xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange = function() {
if (this.readyState == 4 &
&
this.status == 200) {
console.log(this.responseText);
}
}
;
xmlhttp.open("POST", "/upload/file", true);
xmlhttp.send(formData);
后端服务器可以采用不同的方式接收文件数据。在Node.js中,可以使用multer中间件来处理文件上传。multer会将上传文件的信息存储在req.file对象中。
const multer = require("multer");
const upload = multer({
dest: "uploads/" }
);
app.post("/upload/file", upload.single("file"), function(req, res) {
const file = req.file;
console.log(file);
res.send("file uploaded successfully");
}
);
服务端可以将接收到的文件信息进行处理,然后将处理结果以JSON格式返回给客户端。在客户端使用AJAX接收JSON格式的数据时,需要将responseText属性解析为JavaScript对象。
var xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange = function() {
if (this.readyState == 4 &
&
this.status == 200) {
var result = JSON.parse(this.responseText);
console.log(result);
}
}
;
xmlhttp.open("GET", "/get/data", true);
xmlhttp.send();
以上就是使用AJAX与后端服务器进行文件上传和JSON数据通信的相关内容。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: ajax+file+json
本文地址: https://pptw.com/jishu/505050.html
