2012-12-09 121 views
1

我正在使用javascript的'formData'發送帶有ajax的圖像文件。如何將其他數據附加到formData,例如文本字符串?使用ajax發送圖像和文本

JS:

$("#post-image").click(function(){ 
    $.ajax({ 
     url: "../../build/ajaxes/upload-photo.php", 
     type: "POST", 
     data: formdata, 
     processData: false, 
     contentType: false, 
     success: function (response) { 
      console.log(response); 
     } 
    }); 
}); 

PHP:

在我的PHP我可以使用$_FILES["images"]訪問圖像。我不知道如何使用formdata傳遞的附加數據。

回答

0

您需要將表格作爲多部分提交。這裏是你的問題的SO解決方案:Making an HTTP POST call with multipart/form-data using jQuery?

不是一個確切的重複,所以我沒有把它標記爲這樣,但它是對你的問題的解決方案的直接參考。

編輯:你會注意到一些答案也引用FormData作爲解決方案。一旦正確地獲取了數據發佈,就可以使用PHP中的正常$ _FORM集合來訪問它。

3

如果你想參數添加到FORMDATA使用FormData.append

$("#post-image").click(function(){ 
    formdata.append('name', 'value'); 
    $.ajax({ 
     url: "../../build/ajaxes/upload-photo.php", 
     type: "POST", 
     data: formdata, 
     processData: false, 
     contentType: false, 
     success: function (response) { 
      console.log(response); 
     } 
    }); 
}); 

在PHP中使用$_POST["name"]來獲取值。

0

如果你有大單與多文件上傳,然後不使用MALSUP JQUERY PLUGIN。它會將您的所有表單域只有

$(form).ajaxSubmit();