深度了解Ajax技术

简介: 技术

1.什么是Ajax?



Ajax技术是使浏览器可以为用户提供更为自然的浏览体验


2.Ajax核心



Ajax的核心是JavaScript对象XmlHttpRequest。

该对象在Internet Explorer 5中首次引入,它是一种支持异步请求的技术。简而言之,XmlHttpRequest使用户可以使用JavaScript向服务器提出请求并处理响应,而不阻塞用户。

特点:无刷新局部更新数据,至2016年,各大网站几乎都有使用。


3.Ajax的优势与缺点



优势:迅捷的反应速度

a.不需要插件支持

b.优秀的用户体验

c.提高Web程序性能

d.减轻服务器负担


缺点:

a.XmlHttpRequest对象浏览器支持不足,早些年只有IE浏览器支持(现已解决)

b.破坏 浏览器的“前进”、“后退”按钮的正常功能(现已解决)

c.对浏览器搜索引擎支持不足,无法搜索关键字(仍未解决)

d.开发和调试工具缺乏(仍未解决)webstorm可以


4.Ajax的应用



jQuery对Ajax进行了封装,可用其方法

a.底层方法:$.ajax()      

一般用这种方法,直观快捷,二三层方法都是基于底层方法,需要调用底层方法

语法:$.ajax(options)    

options是key/value形式,均为可选

示例:

$("#send").click(function(){
    $.ajax({
        type:"get",   //提交方式
        url:"test.asp", //地址
        success:function(){}    //执行成功的回调函数
        ......  //可以写执行失败的回调函数
    });
});

b.第二层方法:load() 、$.get()、$.post()      get和post方法只有提交方式不同,其余一样,默认get方法

load()方法   将远程页面的响应代码插入DOM中

语法:load(url,[data],[callback])

url : 请求页面的地址

data(可选):  发送到服务器的key/value数据

callback(可选): 请求完成时的回调函数(无论请求成功或者请求失败)

注意:无参data时以get方式提交,有参data时以post方式提交

示例:

$(function(){
$("#send").click(function(){
$("#resTex").load("test.html");
});
});
$(function(){
    $("#send").click(function(){
    $("#resTex").load("test.html",{name:"xxx",age:"21"},)
    function(responseText,textStatus,XMLHttprequest){
        alert(responseText);     //请求访问的内容
        alert(textStatus);      //请求的状态(成功或失败)
        alert(XMLHttprequest);   //XMLHttprequest对象
    };
    });
});

$.get( ) 方法和 $.post( ) 方法

语法:

$.get( url [, data] [,callback] [, type] )

$.post( url [, data] [, callback] [, type] )

url:请求页面的 url

data(可选):发送到服务器的 key/value数据

callback(可选):请求完成时的回调函数(只有成功才被调用)

type(可选):返回内容的格式(text, html, xml, script, json)

示例;

$("#send").click(function(){     //$.get()方法
    $.get("AjaxHandler.ashx",
        {name: "张三", age:"21"},
        function (data, status) {
            $("#div").html(data);
        });
});
//$.post()方法
$("#send").click(function(){
    $.post("AjaxHandler.ashx",
        {name: "张三", age:"21"},
        function (data, status) {
            $("#div").html(data);
        });
});

c.第三层方法:$.getScript()、$getJSON()

$.getScript( ) 与 $.getJSON( ) 方法

$.getScript( ):动态引入JS文件

语法:

$.getScript( JS文件的url ,[callback] )

$.getJSON( ):加载JSON文件

 语法:

$.getJSON( JSON文件url ,[callback] )


5.具体使用步骤


//1.创建XMLHttpRequest对象
var xhr = new XMLHttpRequest();


//2.初始化XMLHttpRequest xhr.open("post","data/data1.txt",true); true表示异步请求
//3.设置回调函数
xhr.onreadystatechange = function(){
    //readyState的值:0-未初始化,1-已初始化,2-已发送请求,还未接到响应,3-接到服务器响应数据,未完成,4-数据接收完成
    //HTTP响应状态码:2xx : 成功,3xx : 请求需要进一步细化,4xx : 客户端错误,5xx : 服务器错误
    if(xhr.readyState==4 && xhr.status==200){
        document.getElementById("d1").innerHTML = xhr.responseText;
    }
};
//4.发送请求 xhr.send(null);



目录
相关文章
|
7月前
|
XML 前端开发 JavaScript
AJAX 前端开发利器:实现网页动态更新的核心技术
**AJAX** 允许网页在不刷新的情况下更新内容,实现异步与服务器交换数据。通过JavaScript的XMLHttpRequest对象,可发送和接收数据。当用户触发事件(如点击),函数向服务器发送GET请求,服务器响应后更新指定HTML部分。AJAX并非编程语言,而是利用浏览器内置对象、JavaScript和DOM技术。核心是XMLHttpRequest对象,它有多种方法(如`open()`和`send()`)和属性(如`onreadystatechange`、`readyState`和`status`)来处理请求和响应。
126 2
AJAX 前端开发利器:实现网页动态更新的核心技术
|
7月前
|
设计模式 前端开发 JavaScript
Ajax技术【Ajax 实战】(二)-全面详解(学习总结---从入门到深化)
Ajax技术【Ajax 实战】(二)-全面详解(学习总结---从入门到深化)
67 0
|
7月前
|
XML JSON 前端开发
JavaWeb----Ajax技术
JavaWeb----Ajax技术
88 0
|
7月前
|
前端开发 JavaScript API
Ajax技术的秘密揭秘:异步传输,高效交互
Ajax技术的秘密揭秘:异步传输,高效交互
|
29天前
|
XML 前端开发 JavaScript
PHP与Ajax在Web开发中的交互技术。PHP作为服务器端脚本语言,处理数据和业务逻辑
本文深入探讨了PHP与Ajax在Web开发中的交互技术。PHP作为服务器端脚本语言,处理数据和业务逻辑;Ajax则通过异步请求实现页面无刷新更新。文中详细介绍了两者的工作原理、数据传输格式选择、具体实现方法及实际应用案例,如实时数据更新、表单验证与提交、动态加载内容等。同时,针对跨域问题、数据安全与性能优化提出了建议。总结指出,PHP与Ajax的结合能显著提升Web应用的效率和用户体验。
42 3
|
1月前
|
JSON 前端开发 JavaScript
java-ajax技术详解!!!
本文介绍了Ajax技术及其工作原理,包括其核心XMLHttpRequest对象的属性和方法。Ajax通过异步通信技术,实现在不重新加载整个页面的情况下更新部分网页内容。文章还详细描述了使用原生JavaScript实现Ajax的基本步骤,以及利用jQuery简化Ajax操作的方法。最后,介绍了JSON作为轻量级数据交换格式在Ajax应用中的使用,包括Java中JSON与对象的相互转换。
45 1
|
4月前
|
前端开发 Java UED
告别页面刷新时代:Struts 2 Ajax技术揭秘,轻松实现动态加载,Web应用焕然一新!
【8月更文挑战第31天】在Web应用开发中,用户体验至关重要。为减少页面刷新带来的不适,Ajax技术应运而生。Struts 2作为流行的Java EE框架,通过内置的Ajax支持简化了无刷新页面动态加载的实现。本文通过对比传统请求响应模式,展示了Struts 2如何轻松实现Ajax功能,提升了用户体验和开发效率,并灵活地实现了数据交换。然而,使用Ajax时还需注意SEO和跨域请求等局限性。
45 0
|
6月前
|
JavaScript 前端开发 安全
安全开发-JS应用&原生开发&JQuery库&Ajax技术&加密编码库&断点调试&逆向分析&元素属性操作
安全开发-JS应用&原生开发&JQuery库&Ajax技术&加密编码库&断点调试&逆向分析&元素属性操作
|
6月前
|
数据采集 Web App开发 前端开发
技术心得记录:如何用JAVA爬取AJAX加载后的页面(转载)
技术心得记录:如何用JAVA爬取AJAX加载后的页面(转载)
|
7月前
|
前端开发 搜索推荐 安全
AJAX和CSR(客户端渲染)是Web开发中常用的两种技术
【5月更文挑战第8天】AJAX提升用户体验,减轻服务器压力,但对搜索引擎不友好且增加开发复杂度,易引发安全问题。CSR提供快速响应和交互性,改善用户体验,但首屏加载慢,搜索引擎支持不足,同样面临安全挑战。两者各有适用场景,需按项目需求选择。
62 0