2012-08-09 76 views
1

我試圖添加產品到一個數據庫,以及一些圖片,服務器端是PHP。我想通過AJAX異步上傳所有內容。我想要在產品ID(thumbs/productID)之後保存在目錄名稱中的圖片。

第一部分,提交產品信息並檢索其id是完成的。但是,上傳文件時,我無法上傳文件和字符串,以通知我的腳本要保存哪個文件夾。但我可以只發送文件。

有什麼辦法可以同時發送文件和文本嗎?任何幫助,將不勝感激。

$('#register-product').on('submit', function (evt) { 
    evt.preventDefault(); 
    var i = 0, len = document.getElementsByName("images").length-1, reader, file; 
    var myFiles = document.getElementsByName("images"); 
    // Adds all files to formdata 
    for (; i < len; i++) { 
     file = myFiles[i].files[0]; 
     if (!!file.type.match(/image.*/)) { 
      if (window.FileReader) { 
       reader = new FileReader(); 
       reader.readAsDataURL(file); 
      } 
      if (formdata) { 
       formdata.append("images[]", file); 
      } 
     } 
    } 
    // Send data to the server. 
    if (formdata) { 
     $.ajax({ 
      url: "upload.php", 
      type: "POST", 
      // data: formdata, // This is correct 
      data: {formdata, id: 1}, // This doesn't work 
      processData: false, 
      contentType: false, 
      success: function (res) { 
       console.log(res); 
      } 
     }); 
    } 
}); 

回答

1

另一個值就追加到FORMDATA:

//... 
formdata.append("id", 1); 
if (formdata) { //... 

,你通過$ _ POST慣於您可以訪問它[ 「身份證」。

+0

謝謝,正是我在找的。 – 2012-08-09 11:06:25

1

您不能通過AJAX發佈請求發送文件。

這些文件的標題數據將不會被髮送。

所以你需要做一些iframe技巧或使用文件API。

相關問題