fail 原生ajax_原生Ajax使用

本文介绍了Ajax的基础概念,包括其优点和缺点。Ajax的主要优点是无刷新更新、异步通信和节省服务器资源,但存在不支持浏览器回退、安全问题、搜索引擎优化困难等问题。文章还提到了跨域问题及解决方案JSONP,并指出现代Web开发中,XHR已被Fetch API取代。详细阐述了Ajax请求的过程,包括创建XMLHttpRequest对象、设置请求参数和回调函数,以及GET和POST方式的区别。同时,文章讨论了Ajax的回调函数和状态变化,以及服务器端处理Ajax请求的方法。
摘要由CSDN通过智能技术生成

Ajax基础

Ajax(Asynchronous JavaScript And XML)概念:

通过XMLHttpRequest对象向服务器提出请求并处理响应,进行页面的局部更新。

AJAX都有哪些优点和缺点?

ajax的优点:

1、最大的一点是页面无刷新,用户的体验非常好。

2、使用异步方式与服务器通信,具有更加迅速的响应能力。

3、“按需取数据”,可以最大程度的减少冗余请求,和响应对服务器和带宽的负担,节约空间和宽带租用成本。

4、基于标准化的并被广泛支持的技术,不需要下载插件或者小程序。

ajax的缺点:

1、ajax不支持浏览器back按钮。

2、安全问题 AJAX暴露了与服务器交互的细节。

3、对搜索引擎的支持比较弱。

4、破坏了程序的异常机制。

5、不容易调试。

ajax就会面临两个不可避免的问题:

一是以何种格式来减缓数据;

二是如何解决跨域问题。ajax本身不支持跨域请求,需要在服务器端处理--JSONP(一种跨域数据交互协议)。

相关介绍:

现在 W3C 官方都不提倡 XHR 了,而是提倡 FetchAPI(虽然也不好用)

Ajax 指的是 XMLHttpRequest(XHR),未来现在已被 Fetch 替代;

Fetch API 是基于 Promise 设计,有必要先学习一下 Promise

https://www.cnblogs.com/hsprout/p/5504053.html

https://blog.csdn.net/shendeguang/article/details/72818802

https://segmentfault.com/a/1190000003810652

Ajax请求过程

创建XMLHttpRequest、连接服务器、发送请求、服务器做出响应、接收响应数据

浏览器端

一:创建XMLHttpRequest对象

所有现代浏览器均支持 XMLHttpRequest 对象(旧版IE除外,IE5和IE6使用new ActiveXObject()

由于不同浏览器的控件不同,所以为了兼容性,需要根据当前页面所在浏览器以不同方式获取到XMLHttpRequest对象:先检查浏览器是否支持 XMLHttpRequest 对象。如果支持,则创建 XMLHttpRequest 对象。如果不支持,则创建 ActiveXObject。

varxmlhttp;if (window.XMLHttpRequest) { //检查浏览器的XMLHttpRequest属性,如果为真则支持XMLHttpRequest//IE7+, Firefox, Chrome, Opera, Safari 浏览器支持XMLHttpRequest

xmlhttp=newXMLHttpRequest();

}else{//IE6, IE5 浏览器使用ActiveXObject

xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");

}

二:向服务器URL发出请求,传递参数

我们使用 XMLHttpRequest对象的open() 方法连接到服务器某url,设置回调函数监听返回结果、最后send() 并发出请求、传参。

方法

描述

open(method,url,async)

请求类型、URL 以及是否异步处理请求。

method:请求的类型;GET 或 POST

url:处理请求的文件在服务器上的位置

async:true(异步)或 false(同步)

send(string)

将请求发送到服务器。

string:仅用于 POST 请求。如果上面open中设置请求方法为GET,则此处send(null),若上面

为Post,则send("para1=val1 & para2=val2..."

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值