ajax是一种什么技术(为什么vue不使用ajax)

admin3年前PHP教程25
ajax是一种什么技术

ajax是一种用来改善用户体会的技术,其本质是使用浏览器提供的一个特别的目标(XMLHttpRequest,也可称之为ajax目标)向服务器发送异步恳求。服务器使用这些数据对当时页面做部分更新。整个过程,页面无改写,不打断用户的操作。
注: 异步恳求:发送恳求的一起,浏览器不会销毁当时页面,用户任然可以对当时页面做其他操作。
怎么取得ajax目标?
区别浏览器
function getXhr() {
var xhr = null;
if(window.XMLHttpRequest){
//非ie浏览器
xhr = new XMLHttpRequest();
}else{
//ie浏览器
xhr = new ActionXObject(“Microsoft.XMLHttp”);
}
return xhr;
}
ajax目标的几个重要的特点
a.onreadystatechange:用来绑定一个事情处理函数,用来处理readystatechange事情。
注:当ajax目标得readystate特点值发生了任何改动(比如从0变成了1),就会产生readystatechange事情。
b.readyState:有5个值(0,1,2,3,4),表示ajax目标与服务器通讯的状态。其中,当值为4时,表示ajax目标已经取得了服务器回来得一切得数据。
c.responseText:取得服务器回来得文本数据。
d.responseXML:取得服务器回来得xml数据。
e.status:取得状态码。 (500,404,200(正常运行),302(重定向)。。。)
编程过程(不固定)
step1:取得ajax目标。
比如: var xhr = getXhr();
step2:发送恳求。
a、发送get恳求
(1) 翻开: xhr.open(‘get’,’check_uname.do?uname=tom’,true);
check_uname.do(地址):需要是事先在servlet写好接收恳求的方法 ,如果有参数加在恳求地址的后边用问号离隔,参数之间用&离隔
true:异步的,发送恳求的一起,浏览器不会销毁当时页面,用户任然可以对当时页面做其他操作。
false:同步的,几乎不用了。发送恳求时,浏览器会确定当时页面,用户不能够对当时页面做其他操作。
(2) xhr.onreadystatechange=f1; (f1:事情处理函数)
(3) 发送:(ajax把恳求数据打包发送) xhr.send(null);
b、发送post恳求
(1). xhr.open(‘post’)
step3:编写服务器端的程序(servlet)。
注:一般不需要回来完好的页面,只需要回来部分数据(文本)。
step4:编写事情处理函数。
function f1(){
//先取得服务器回来得数据
if(xhr.readyState == 4 && xhr.status ==200){
var txt = xhr.responseText;
//使用这些数据更新页面

}}


为什么vue不使用ajax

ajax和axio本质上都是对原生XHR的封装。
ajax是jQuery封装使用的方法,通常和jQuery一起使用。
相较于ajax而言,axios作为数据请求及响应的Promise的实现版本,给vue提供了更符合最新ECMAscript特性,详细可以查看axios特性。
因此,vue更倾向用axios而不用ajax

免责声明:本文内容来自用户上传并发布,站点仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。请核实广告和内容真实性,谨慎使用。

相关文章

PHP队列场景以及实现代码实例详解

为了降低单点压力,通常会根据业务情况进行分表分库,将表分布在不同的库中(库可能分布在不同的机器上),但是一个业务场景可能会同时处理两个表的操作。在这种场景下,事务的提交会变得相对复杂,因为多个节点(库...

如何从防护角度看Thinkphp历史漏洞

thinkphp rce漏洞和扫描流量漏洞原理回顾5.0.x版本漏洞原理在于thinkphp处理请求的关键类为request(thinkphp/library/think/request.php),该...

PHP反序列化字符串逃逸实例详解

通过CTF比赛了解PHP反序列化,记录自己的学习。借用哈大佬们的名言任何具有一定结构的数据,如果经过了某些处理而把结构体本身的结构给打乱了,则有可能会产生漏洞。0CTF 2016piapiapia--...

江苏高防服务器有哪些优势

江苏高防服务器有哪些优势?江苏高防服务器相比传统服务器具有以下优势:1.高防抗D攻击:江苏高防服务器采用了高防抗D攻击的技术,能够有效抵御各种DDoS和CC攻击,保障网络的安全稳定性。2.高性能:江苏...

PHP实现一个二维码同时支持支付宝和微信支付的示例

实现思路生成一个二维码,加入要处理的url连接在用户扫完码后,在对应的脚本中,判断扫码终端,调用相应的支付若能够扫码之后能唤起相应app,支付宝要用手机网站支付方式,微信要使用jsapi支付方式效果展...

php中array_pad()函数用法及实例

1、array_pad($array,$size,$value)函数可以将某个键值$value插入到数组$array中,从而将数组填补到指定的长度$size。($size参数可以理解为数组中元素的最终...