Maison > Questions et réponses > le corps du texte
Lors du téléchargement de photos, vous devez fournir le jeton de connexion de l'utilisateur et les photos à télécharger. Mais comment deux types de données différents peuvent-ils être publiés ensemble sur le serveur ?
mui.init();
function fsubmit(){
var data = new FormData(mui('#uploadForm')[0]); //获取图片
$.ajax({
url: 'http://192.168.1.8/api/user-center/avatar',
type: 'POST',
data: {
key:localStorage.getItem('key'), //获取本地的登录令牌
avatar:data //图片
},
cache: false,
processData: false,
contentType: false ,
success:function(data){
console.log(data.datas.testURL);
},
error:function(xhr,type,error){
console.log(xhr.status+xhr.responseText);
//一直返回401,没有权限
}
});
return false;
}
女神的闺蜜爱上我2017-06-28 09:27:01
Changez le type de données de la publication en formdata, puis chargez l'objet dans formdata. Voici un exemple :
var fd = new FormData();
var file_data = $('input[type="file"]')[0].files; // for multiple files
for(var i = 0;i<file_data.length;i++){
fd.append("file_"+i, file_data[i]);
}
var other_data = $('form').serializeArray();
$.each(other_data,function(key,input){
fd.append(input.name,input.value);
});
$.ajax({
url: 'caiyongji.com/segmentfault',
data: fd,
contentType: false,
processData: false,
type: 'POST',
success: function(data){
console.log(data);
}
});
PHP中文网2017-06-28 09:27:01
Vous avez déjà créé le nouveau FormData, alors n'enregistrez pas les objets vous-même. Utilisez simplement le nouveau...
.mui.init();
function fsubmit() {
var fData = new FormData(); //这里用空的就行,后边再append
fData.append('file', mui('#uploadForm')[0], '不知道你文件名是啥你自己去整下.jpg');
fData.append('key', localStorage.getItem('key')); //获取本地的登录令牌
$.ajax({
url: 'http://192.168.1.8/api/user-center/avatar',
type: 'POST',
data: fData,
processData: false,
contentType: false,
success: function (data) {
console.log(data.datas.testURL);
},
error: function (xhr, type, error) {
console.log(xhr.status + xhr.responseText);
}
});
return false;
}
Ensuite le backend est légèrement ajusté pour pouvoir recevoir FormData.
女神的闺蜜爱上我2017-06-28 09:27:01
Merci pour l'invitation :
Le jeton peut être placé dans les en-têtes et le backend vérifie le jeton séparément, tandis que cette interface ne traite que les images