2014-07-14 93 views
0

我正在使用Jquery上傳文件。我打算通過所選文件傳遞更多參數的問題。但是,我認爲如果傳遞的數據不作爲字符串處理,那麼processData屬性值應該設置爲false。當我這樣做時,我無法通過jquery ajax傳遞的數據傳遞任何其他值。傳遞文件的文件名和其他參數使用jQuery上傳文件

下面是我使用的代碼:

$.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); 
    } 
}); 

請分享你的想法,如果你已經能夠找到這種情況的解決方法。或者如果你知道任何其他傳遞數據的方式。請分享。

回答

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); 
        } 
       }); 
      } 
0

你可以使用iframe來進行這種jQuery圖像的上傳...

Ex。

<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>