Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/247.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将formdata文件和字符串发送到php_Javascript_Php_Jquery_Ajax - Fatal编程技术网

Javascript 将formdata文件和字符串发送到php

Javascript 将formdata文件和字符串发送到php,javascript,php,jquery,ajax,Javascript,Php,Jquery,Ajax,如何使用Ajax表单数据向PHP发送字符串 这是我在上找到的当前代码 如何使用下面的代码将字符串传递给PHP?我想在我的网站上实现该代码,因为我需要使用progressbar上传图像,以了解用户是否成功上传了文件 我想将图像的名称传递给PHP function uploadFile(){ var file = _("file1").files[0]; // alert(file.name+" | "+file.size+" | "+file.type); var for

如何使用Ajax表单数据向PHP发送字符串

这是我在上找到的当前代码

如何使用下面的代码将字符串传递给PHP?我想在我的网站上实现该代码,因为我需要使用progressbar上传图像,以了解用户是否成功上传了文件

我想将图像的名称传递给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})
    })

但是我想实现上面网站的代码。谢谢。

您需要在发送前对对象进行加密

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

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

将新键/值追加到
formdata
^
formdata.append('filename',file.name)如果我尝试这样的方法,var formdata=new formdata();formdata.append(“文件1”,文件);formData.append('key2','value2');它说formData没有定义这不适用于文件上传,也不能回答这个问题