javascript - php + ajax 无刷新的上传图片为啥实现不了?
大家讲道理
大家讲道理 2017-05-24 11:30:56
[PHP讨论组]

写一个比较low的文件上传功能,需要点击 上传 才会上传到服务器中。
但是经过测试,始终上传不了,不知道是怎么回事?下面是我的代码:

html


    

点击这里上传文件

php:

js:

$(function() {
    //上传图片
    $('#uploadBtn').on('click',function(){
        /*alert('444');*/
        uploadFiles();
    })

    function uploadFiles(){
        //上传文件接口
        var uploadUrl = "./php/data.php?action=upload_file";
        //选择的文件
        var files = document.getElementById('changeFile').files[0];
        var fileArr = [files];
        //经过调试是不进ajax的
        $.ajax({
            type:"post",
            url:uploadUrl,
            data:fileArr,
            dataType: 'json',
            contentType: 'application/json;charset=utf-8',
            success: function(data) {
                console.log(data);
            },
            error: function(data){
                        
            }
        });
    }
}

经过调试,在js这里,是不进 ajax 的,不知道是哪里出了问题?请帮帮忙,谢谢!
在php 中, $pic = $_FILES['myFiles']['tmp_name']; $pic 的值要怎么获取?调试中我发现这个值是获取不到的。在js中我把获取到的文件信息都转为一个数组通过ajax的post传递,这个数组要怎么传给php呢?

大家讲道理
大家讲道理

光阴似箭催人老,日月如移越少年。

全部回复(2)
漂亮男人

你传的是混合型数据,把contenttype和processData改成false试试

$.ajax({
            type:"post",
            url:uploadUrl,
            data:{ "yourfiles": files} //这里改成obj对象,
            dataType: 'json',
            contentType: false,
            processData:false,
            success: function(data) {
                console.log(data);
            },
            error: function(data){
                        
            }
        });
迷茫

processData 要设为 false

你使用Ajax 提交 需要 需要 使用 formData 配合

var file = document.getElementById('changeFile').files[0]
var uploadUrl = "./php/data.php?action=upload_file"
var fd = new FormData()

fd.append('myFiles', file)

$.ajax({
    type:"post",
    url:uploadUrl,
    data: fd,
    processData: false,
    contentType: false,
    success: function(data) {
        console.log(data);
    },
    error: function(data){
        
    }
})
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号