2016-02-27 35 views
1

如何使用Ajax表單數據將字符串發送到PHP?發送formdata文件和字符串到php

這是我在 https://www.developphp.com/video/JavaScript/File-Upload-Progress-Bar-Meter-Tutorial-Ajax-PHP找到的當前代碼。

如何使用下面的代碼將字符串傳遞給PHP?我想將該代碼實施到我的網站,因爲我需要上傳帶有進度條的圖像,以瞭解用戶是否成功上傳文件。

我想將圖像的名稱傳遞給PHP。

function uploadFile(){ 
    var file = _("file1").files[0]; 
    // alert(file.name+" | "+file.size+" | "+file.type); 
    var formdata = new FormData(); 
    formdata.append("file1", file); 
    var ajax = new XMLHttpRequest(); 
    ajax.upload.addEventListener("progress", progressHandler, false); 
    ajax.addEventListener("load", completeHandler, false); 
    ajax.addEventListener("error", errorHandler, false); 
    ajax.addEventListener("abort", abortHandler, false); 
    ajax.open("POST", "file_upload_parser.php"); 
    ajax.send(formdata); 
} 

我知道如何傳遞字符串使用Ajax這樣到PHP:

$.ajax({ 
    type: "POST", 
    url: "phpfile.php", 
    data: ({data1: "data1").value}) 
    }) 

但我要實現從上述網站的代碼。謝謝。

+0

追加新的鍵/值對'formdata' – charlietfl

+0

^'formdata.append( '文件名',file.name);' – adeneo

+0

,如果我嘗試像這樣,var formdata = new FormData(); \t formdata.append(「file1」,file); \t formData.append('key2','value2'); 它說formData沒有定義 – Audrey

回答

-1

您需要在發送前stingify對象..

$.ajax({ 
type:'POST', 
url :"url", 
dataType: "json", 
headers:{'Content-Type':'application/json'}, 
data: JSON.stringify({"data1": "data1"}), 
success: function(data) { 

}, 
error:function(exception){ 
} 
}); 
+0

這將不適用於文件上傳,並不回答問題 – charlietfl