首页 > 解决方案 > 如何使用ajax上传文件?

问题描述

我有个问题。我的英语很弱

$_FILES用 PHP 打印变量没有任何问题。

在此处输入图像描述

但是当我用 AJAX 发布它时它不会被抓住

标签: javascriptphpajax

解决方案


假设你有这个 AJAX 函数:

function sendRequest(type, url, callback, async, params) {
    if (async !== false) async = true;
    var xhttp = new XMLHttpRequest();
    xhttp.onreadystatechange = callback;
    xhttp.open(type, url, async);
    xhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    xhttp.send(params);
}

你称之为

sendRequest("POST", "yourpage.php", function() {
    if (this.readyState === 4) {
        console.log(JSON.parse(this.responseText));
    }
} true);

如果这一切都设置好了,那么您需要服务器向浏览器提供 JSON 响应,例如

<?php

//yourpage.php

//...Some stuff
echo json_encode($_FILES);

请注意,以上只是幻想代码,您需要实际上传文件才能使所有这些有意义。


推荐阅读