Rumah pembangunan bahagian belakang tutorial php Ajax之文件异步上传的多种方法

Ajax之文件异步上传的多种方法

Nov 20, 2017 pm 02:09 PM
ajax muat naik

Ajax的核心是JavaScript对象XmlHttpRequest。该对象在Internet Explorer 5中首次引入,它是一种支持异步请求的技术。简而言之,XmlHttpRequest使您可以使用JavaScript向服务器提出请求并处理响应,而不阻塞用户。Ajax对服务器没什么要求,可以为Java EE应用程序,.NET应用程序和其他类型的应用程序服务。可以通过Ajax,可以编写javascript代码来改进HTML,创建出丰富的交互性用户体验。

1. 认识FormData对象

FormData是Html5新加进来的一个类,可以模拟表单数据

构造函数

解释

FormData (optional HTMLFormElement form)    (可选) 一个HTML表单元素,可以包含任何形式的表单控件,包括文件输入框.    

方法

void append(DOMString name, DOMString value)

name 表单元素名称

value 表单元素要传递的值

<form name="myForm"  enctype="multipart/form-data">
    <input type="text" name="userName">
    <input type="file" name="img">
    <input type="button" id="btn" value="submit">
</form>
Salin selepas log masuk

2. 使用javascript简单实现

function upload() {    var userName = document.myForm.userName.value;    var img = document.myForm.img.files[0];    var fm = new FormData();
    fm.append('userName', userName);
    fm.append('img', img);    var request = new XMLHttpRequest();
    request.open('POST', 'submitform.php');
    request.send(fm);
}
Salin selepas log masuk

3. 使用Ajax实现

$('#btn').click(function () {    var userName = document.myForm.userName.value;    var img = document.myForm.img.files[0];    var fm = new FormData();
    fm.append('userName', userName);
    fm.append('img', img);
    $.ajax(
        {
            url: 'submitform.php',
            type: 'POST',
            data: fm,
            contentType: false, //禁止设置请求类型
            processData: false, //禁止jquery对DAta数据的处理,默认会处理
            //禁止的原因是,FormData已经帮我们做了处理
            success: function (result) {                //测试是否成功
                //但需要你后端有返回值
                alert(result);
            }
        }
    );
});
Salin selepas log masuk

4. ajaxfileupload.js插件实现Ajax文件上传

function upload(){
$.ajaxFileUpload({
        url: 'a.php', //用于文件上传的服务器端请求地址
        secureuri: false, //一般设置为false
        fileElementId: 'file', //文件上传空间的id属性  
        dataType: 'HTML', //返回值类型 一般设置为json
        success: function (data, status)  //服务器成功响应处理函数        {                
            $("#img1").attr("src", data);
            addI(data);
        },
        error: function (data, status, e)//服务器响应失败处理函数        {
            alert(e);
        }
    }   
);
}
Salin selepas log masuk

对于PHP就可以使用Files全局数组拿到文件属性,POST全局数组拿到userName的值

以上就是Ajax简单实现文件异步上传的多种方法,希望对大家有帮助。

相关推荐:

ajax实时刷新处理的实现方法

几种javascript实现原生ajax的方法

ajax的简单介绍

Atas ialah kandungan terperinci Ajax之文件异步上传的多种方法. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Tag artikel panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Bagaimana untuk mengambil gambar dan memuat naiknya pada komputer Bagaimana untuk mengambil gambar dan memuat naiknya pada komputer Jan 16, 2024 am 10:45 AM

Bagaimana untuk mengambil gambar dan memuat naiknya pada komputer

Bagaimana untuk memuat naik lirik ke QQ Music Bagaimana untuk memuat naik lirik ke QQ Music Feb 23, 2024 pm 11:45 PM

Bagaimana untuk memuat naik lirik ke QQ Music

Bagaimana untuk menyelesaikan ralat 403 yang dihadapi oleh permintaan jQuery AJAX Bagaimana untuk menyelesaikan ralat 403 yang dihadapi oleh permintaan jQuery AJAX Feb 20, 2024 am 10:07 AM

Bagaimana untuk menyelesaikan ralat 403 yang dihadapi oleh permintaan jQuery AJAX

Langkah mudah untuk memuat naik muzik anda sendiri di Kugou Langkah mudah untuk memuat naik muzik anda sendiri di Kugou Mar 25, 2024 pm 10:56 PM

Langkah mudah untuk memuat naik muzik anda sendiri di Kugou

Bagaimana untuk menyelesaikan ralat permintaan jQuery AJAX 403 Bagaimana untuk menyelesaikan ralat permintaan jQuery AJAX 403 Feb 19, 2024 pm 05:55 PM

Bagaimana untuk menyelesaikan ralat permintaan jQuery AJAX 403

Bagaimana untuk meningkatkan kelajuan muat naik komputer Bagaimana untuk meningkatkan kelajuan muat naik komputer Jan 15, 2024 pm 06:51 PM

Bagaimana untuk meningkatkan kelajuan muat naik komputer

Bagaimana untuk mendapatkan pembolehubah daripada kaedah PHP menggunakan Ajax? Bagaimana untuk mendapatkan pembolehubah daripada kaedah PHP menggunakan Ajax? Mar 09, 2024 pm 05:36 PM

Bagaimana untuk mendapatkan pembolehubah daripada kaedah PHP menggunakan Ajax?

PHP lwn. Ajax: Penyelesaian untuk mencipta kandungan yang dimuatkan secara dinamik PHP lwn. Ajax: Penyelesaian untuk mencipta kandungan yang dimuatkan secara dinamik Jun 06, 2024 pm 01:12 PM

PHP lwn. Ajax: Penyelesaian untuk mencipta kandungan yang dimuatkan secara dinamik

See all articles