2016-02-27 34 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