今天完成的事情:
transformRequest: function(obj) {
var str = [];
for (var s in obj) {
str.push(encodeURIComponent(s) + "=" + encodeURIComponent(obj[s]));
}
return str.join("&");
}
transformRequest:函数/函数的数组。转换函数或者一个包含转换函数的数组。
转换函数获取http请求体和请求头,并且返回他们的转换版(通常是序列化)
简单讲通常当我们输入用户账号密码点提交,那么发给服务器什么数据呢,
发了类似username=zhangsan&password=pwd123这样一串东西,其中zhangsan是你在第一个文本框里填写的内容其中=前面的是参数名后面是值,多个参数之间是&分割。 然后你要说了,如果我文本框里输入的用户名里有一个等号怎么办呢? 怎么知道这个等号是分割参数名和参数值的等号,还是我作为参数值输入的等号? pwd123是你在第二个文本框里填写的内容。里面的的内容,那么他的作用就来了就是为了就是在拼接这个表单
那么 encodeuricomponent就是做这个事情,它会把特殊字符,比如等号、and符号都编码成一
个特殊字符,比如说1=2,会转换成1%3d2。这个等号就用特殊的%3d代替了。
fail(file) {
this.dialogImageUrl = file.url;
this.dialogImageUrl = new window.File([this.dialogImageUrl], file.name, {
type: file.type
});
// 上面负责回显,调用的本地
// this.dialogVisible = true;
//这里我在data中初始化了一个变量,imgPost,给他赋值。
this.imgPost = file.raw;
},
getdat() {
let token1 = sessionStorage.getItem("token");
// 由于我们的后台需要发送token,所以这里存了一下
//首先,创建一个新的FormData。
let formData1 = new FormData();
formData1.append("file", this.imgPost);
formData1.append("token", token1);
// 划重点!!这里需要特别说明,你会发现发现打印这个formData1为空。
// 这里的append并不是没有追加进去,是因为控制台打印的formdata是原型,为类的私有字段,外界访问不到,可以在发送的请求中查看
// 这就是要传的文件
console.log(formData1);
//upload是我的封装的接口=====换成你自己的即可
axios.post("/api/admin/course/fpx", formData1).then(res => {
// 如果一切顺利,那么这里的res应该就有你们后台给的回调url啦。
console.log(res);
});
},
明天计划的事情:
把新增页面的屁股擦干净。
收获:
搞了搞怎么 上传图片的,但是还是没弄出来。
评论