分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 教程案例

AJAX2.0

发布时间:2023-09-06 02:03责任编辑:白小东关键词:暂无标签

Ajax2.0

早期的ajax技术不支持异步文件上传

在后面更新了ajax2.0版本  支持文件上传了 但需要借助一个对象----FormData对象

Ajax2.0大体的步骤跟以前是一样的  但也是有一点小区别

 

区别:

1.  Ajax里不需要设置请求头,它内部已经自动设置了

2.  穿件一个FormData对象,并且传入表单

3.  表单是不给“提交”按钮的-------------submit/<button></button>-------------没有submit按钮时button按钮相当于submit按钮

 

详细代码见下

<!DOCTYPE html>
<html lang="en">
<head>
???<meta charset="UTF-8">
???<meta name="viewport" content="width=device-width, initial-scale=1.0">
???<meta http-equiv="X-UA-Compatible" content="ie=edge">
???<title>Document</title>
</head>
<body>
???<form>
???????????<input type="file" id="file" name="icon">
???????????<input type="text" id="user" name="user">
???????????<input type="button" id="btn" value="发请求">
???</form>
</body>
</html>

<script>
//找到表单元素
var form = document.querySelector(‘form‘);
document.getElementById(‘btn‘).onclick = function(){

//点击事件里我需要发一个异步请求
//早期的ajax技术,是不支持异步上传文件的
//在后期更新了ajax2.0版本,支持上传文件!它需要借助于一个对象,这个对象叫FormData对象
//ajax2.0大体的步骤跟以前是一样的,区别

//1. 还是要创建个请求对象
var xhr = new XMLHttpRequest();
//2. 还是要设置请求行
xhr.open(‘post‘,‘data.php‘);//在这里data.php只是一个获取数据的页面,可以忽略
//3. ajax2.0 里不需要设置请求头,它内部会自动帮你设置
//创建一个FormData对象,并且传入一个表单
var fm = new FormData(form); ?//
xhr.send(fm);
xhr.onload = function(){
console.log(xhr.responseText);
???????}
???}
</script>

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
</head>
<body>
    <form>
            <input type="file" id="file" name="icon">
            <input type="text" id="user" name="user">
            <input type="button" id="btn" value="发请求">
    </form>
</body>
</html>

<script>
    //找到表单元素
    var form = document.querySelector(‘form‘);
    document.getElementById(‘btn‘).onclick = function(){

        //点击事件里我需要发一个异步请求
        //早期的ajax技术,是不支持异步上传文件的
        //在后期更新了ajax2.0版本,支持上传文件!它需要借助于一个对象,这个对象叫FormData对象
        //ajax2.0大体的步骤跟以前是一样的,区别
       
        //1. 还是要创建个请求对象
        var xhr = new XMLHttpRequest();
        //2. 还是要设置请求行
        xhr.open(‘post‘,‘data.php‘);
        //3. ajax2.0 里不需要设置请求头,它内部会自动帮你设置
        //创建一个FormData对象,并且传入一个表单
        var fm = new FormData(form);  //
        xhr.send(fm);
        xhr.onload = function(){
            console.log(xhr.responseText);
        }
    }
</script>

AJAX2.0

原文地址:https://www.cnblogs.com/mlw1814011067/p/9302050.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved