javascript - AJAX上传文件不起作用

标签 javascript php jquery html ajax

我想使用 ajax 在浏览器上上传文本文件,但我不知道如何做到这一点。文件未上传,var_dump($files) 回显 array(0)。

HTML:

<form id="uploadsql" action="upload.js" method="post" enctype="multipart/form-data">
    <input id="uploadFile" type="text" disabled="disabled" placeholder="Choose File" />
    <div  class="fileUpload btn btn-primary">
        <span>Upload</span>
        <input id="uploadBtn" name="file" type="file" class="upload"required />
    </div>

    <div class="fileUpload btn btn-primary">
        <span>Submit</span>
    <input type = "submit" id="uploadBtn" class="upload" /></div>

    </form>
    <h4 id='loading' >Loading...</h4>
    <div id="message"></div>
    <script type="text/javascript">  
            document.getElementById("uploadBtn").onchange = function () {  
                document.getElementById("uploadFile").value = this.value;
            };
    </script>

JS:

$(document).ready(function (e) {
$("#uploadsql").on('submit',(function(e) {
e.preventDefault();
$("#message").empty();
$('#loading').show();
$.ajax({
url: "upload.php", // Url to which the request is send
type: "POST",             // Type of request to be send, called as method
cache: false,             // To unable request pages to be cached
success: function(data)   // A function to be called if request succeeds
{
$('#loading').hide();
$("#message").html(data);
}
});
}));


});

PHP:

<?php
set_time_limit(0);
header('content-type: text/html; charset=utf-8');
header("access-control-allow-origin: *");

include 'connect.php';


if(isset($_FILES["uploadBtn"]["type"]))
{
echo 'yes';

} else {
    $files = $_FILES;
    var_dump ($files);
}



?>

我在这里做错了什么? 提前致谢!

最佳答案

通过查看您的 ajax 调用,您没有将“data”属性包含到 ajax 对象中。但我建议你看看这个答案 jQuery AJAX file upload PHP

关于javascript - AJAX上传文件不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37213941/

相关文章:

php - 如何禁用 Laravel 5 日志文件?

jquery - 测试 jQuery UI 工具提示是否打开

jquery - 使用 CSS 和 Jquery 在鼠标按下时移动旋转立方体

javascript - module.exports.report.logon 不是一个函数

php - 数据表从数据中删除反斜杠(\)字符

php - Codeigniter 当我单击删除时,如果单击是或否,我想弹出通知

javascript - jQuery 检查选​​项列表和文本区域中的值

javascript - 如何使用 ESLint 检查 js 文件的最大行数?

javascript - 选择没有 ID 或类(class)名称的子项

javascript - 使用 paho mqttws31.js 接收二进制文件