使用AJAX在FormData中发送文件和路径。获取未定义的索引错误

时间:2017-08-04 15:29:05

标签: javascript php jquery ajax

这是我的代码。我正在尝试做的是发送文件和路径将其放在服务器上。我需要路径来自这些变量,因为我想稍后输出文件。

var FD = new FormData();
 var MyString = "uploads/docs/KEP" +  myVariableString + ".jpg";
  FD.append('name', MyString);
  FD.append('file', $('#file-1').prop('files')[0]);
          $.ajax({
            type: 'POST',
            processData: false,
            contentType: false,
            cashe: false,
            data: FD,
            url: "ajax/ajax.elszamolfileupload.php",
            dataType: 'json',
            });

另一方面,在PHP中:

$placeForFile = $_FILES['name']; 
rename($_FILES['file']['tmp_name'],$placeForFile);

我回来说“名字”未定义。

提前谢谢你!

2 个答案:

答案 0 :(得分:0)

使用$ _POST [' name']代替$ _FILES [' name']

答案 1 :(得分:0)

FormData().append(...)不支持单'个引号

以下一行

...
FD.append('name', MyString);
...

您必须使用下面的内容进行更改

...
FD.append("name", MyString);
...

并正常使用$_FILES['name']