使用ajax上传文件时的未定义索引

时间:2016-12-02 18:49:09

标签: javascript php ajax web

这是我的HTML

<form id="uploadimage" name="form" action="" enctype="multipart/form-data">
    <input type="file" name="files" id="file"  />
    <input type="submit" value="Upload">
</form>

这是我的Javascript代码

$(document).ready(function (e) {
    $("#uploadimage").submit(function(e) {
        e.preventDefault();
        $("#message").empty();
        $('#loading').show();
        $.ajax({
            url: "ajax_php_file.php", // Url to which the request is send
            type: "POST",             // Type of request to be send, called as method
            data:new FormData(this), // Data sent to server, a set of key/value pairs (i.e. form fields and values)
            contentType: false,       // The content type used when sending data to the server.
            cache: false,             // To unable request pages to be cached
            processData:false,        // To send DOMDocument or non processed data file it is set to false
            success: function(data)   // A function to be called if request succeeds
            {
                $('#loading').hide();
                $("#message").html(data);
            }
        });
    });
});

我正在尝试使用ajax上传文件。 javascript正确地将数据发送到php文件,但php代码显示错误未定义的索引文件。 所以,你能说出我做错了什么吗?

这里的php文件代码

<?php

               $filetype=$_FILES["files"]["type"];


?>

1 个答案:

答案 0 :(得分:0)

我得到同样的错误 - 未被捕获的类型错误:无法读取属性&#39;文件&#39;未定义的jquery mobile jquery.mobile-1.4.5.js和jquery.mobile-1.4.5.js用于ajay文件上传。

作为jquery mobile ajax文件上传的文档不支持,但它使用jquery库2.1.1

请将jquery.mobile-1.4.5.js替换为https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js

由于