我正在使用 Jquery 上传文件。问题我打算通过所选文件传递更多参数。但是,我的经验是,如果传递的数据不作为字符串处理,则 processData 属性值应设置为 false。当我这样做时,我无法通过 jquery ajax 传递的数据传递任何其他值。
下面是我正在使用的代码:
$.ajax({
url: 'php/upload.php',
data: data, // here I want to pass more data like { filedata:data, op1 : val1, op2:val2 }
cache: false,
contentType: false,
processData: false,
type: 'POST',
success: function(data){
alert(data);
}
});
如果您能够找到针对这种情况的解决方法,请分享您的想法。或者如果您知道传递数据的任何其他方式。请分享。
最佳答案
试试这个,
var data= false;
if (window.FormData) {
data= new FormData();
}
if (formdata) {
data.append("image", file);
data.append("opt1",'value1');
data.append("opt2",'value2');
}
if (data) {
jQuery.ajax({
url: "php/upload.php",
type: "POST",
data: data,//Now you attached datas
processData: false,
contentType: false,
success: function (data) {
alert("Response Data : "+data);
}
});
}
关于javascript - 使用jquery传递带有文件名和其他参数的文件来上传文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24734736/