我正在使用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);
}
});
如果您能够针对这种情况找到解决方法,请分享您的想法。或者,如果您知道任何其他传递数据的方式。请分享。
答案 0 :(得分:2)
试试这个,
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);
}
});
}
答案 1 :(得分:0)
您可以使用iframe将图像上传到jquery ...
实施例
<iframe name='Status_update' src='updating.php'' scrolling='no'
sandbox='allow-forms' frameborder='0' style='height:150px;width:700px;'>
</iframe>
<script>
$(document).ready(function(){
$("#input_for_image_upload").change(function() //can call on any function
{
$("#img_upload").submit();
});
});
</script>