Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/292.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 Php Ajax文件上传,总是出现未定义索引错误_Javascript_Php_Ajax_Forms - Fatal编程技术网

Javascript Php Ajax文件上传,总是出现未定义索引错误

Javascript Php Ajax文件上传,总是出现未定义索引错误,javascript,php,ajax,forms,Javascript,Php,Ajax,Forms,通过ajax提交文件不起作用。我跟随其他帖子创建了这个文件,但似乎formdata不包含该文件,因此我总是得到未定义索引“image”的错误 <form enctype: 'multipart/form-data'> <div class="add_category"> <label style="font-size:20px;">Add categories</label> <input type="text" name="categor

通过ajax提交文件不起作用。我跟随其他帖子创建了这个文件,但似乎formdata不包含该文件,因此我总是得到未定义索引“image”的错误

<form  enctype: 'multipart/form-data'>
<div class="add_category">
<label style="font-size:20px;">Add categories</label>
<input type="text" name="category" id="category" placeholder="Enter Here" style="border-style:solid;height:30px;">
<label style="font-size:20px;">Choose image</label>
<input type="file" id="file" name="image" style="border-style:solid;height:25px;">
<button name="add_category" type="button" onclick="addcategory()" >ADD Category</button>
</br>
</br>
</div>
</form>


function addcategory(){
//var1=document.getElementById("category").value;
var formData = new FormData();

formData.append('image', $('input[id=file]')[0].files[0]); 


$.ajax({
       url : 'performcategoryserver.php',
       type : 'POST',
       enctype: 'multipart/form-data',
       data : formData,
       processData: false,  // tell jQuery not to process the data
       contentType: false,  // tell jQuery not to set contentType
       success : function(data) {
             alert(data);
       }
});

}

performcategoryserver.php:

<?php
$imagename=$_FILES['image']['name'];
echo($imagename);
?>
这总是返回未定义的索引图像错误,请帮助。

更改

<form  enctype: 'multipart/form-data'> 
改变

<form  enctype: 'multipart/form-data'> 

您的表单标签以错误的方式打开,请先修复该问题,然后再试一次

<form  enctype: 'multipart/form-data'>
应该是

<form method="post" enctype="multipart/form-data">

您的表单标签以错误的方式打开,请先修复该问题,然后再试一次

<form  enctype: 'multipart/form-data'>
应该是

<form method="post" enctype="multipart/form-data">

终于找到了工作代码, 更改为:

    <form id="myform"  enctype= 'multipart/form-data'>
function addcategory(){
var formData = new FormData( $("#myform")[0] );


var xhr = new XMLHttpRequest();

// Open connection
xhr.open('POST', 'performcategoryserver.php', true);

// Set up handler for when request finishes
xhr.onload = function () {
    if (xhr.status === 200) {
        //File(s) uploaded
        alert(xhr.responseText);
    } else {
        alert('An error occurred!');
    }
};

// Send data
xhr.send(formData);
}

终于找到了工作代码, 更改为:

    <form id="myform"  enctype= 'multipart/form-data'>
function addcategory(){
var formData = new FormData( $("#myform")[0] );


var xhr = new XMLHttpRequest();

// Open connection
xhr.open('POST', 'performcategoryserver.php', true);

// Set up handler for when request finishes
xhr.onload = function () {
    if (xhr.status === 200) {
        //File(s) uploaded
        alert(xhr.responseText);
    } else {
        alert('An error occurred!');
    }
};

// Send data
xhr.send(formData);
}

收到此警告:主线程上的同步XMLHttpRequest已被弃用,因为它会对最终用户的体验造成有害影响,当设置async true时,不会从php脚本获得警告,但不会得到响应。获取此警告:主线程上的同步XMLHttpRequest不受欢迎,因为它会对最终用户的体验产生有害影响,当设置async true时,不会从php脚本获得警告,但不会得到响应。