Ajax:异步JavaScript和XML的笔记略解,不作为知识参考

本文介绍了AJAX的核心概念,包括其工作原理、关键技术如CSS布局、DOM操作和XMLHttpRequest,以及如何解决原生JS异步问题和实现跨域请求。此外,文中还详细讲解了jQuery在AJAX中的应用和不同请求方法的使用示例。
摘要由CSDN通过智能技术生成

AJAX 即

“Asynchronous Javascript And XML”(异步 JavaScript 和 XML),是指一种创建交互式、快速动态网页应用的网页开发技术,无需重新加载整个网页的情况下,能够更新部分网页的技术。通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。

AJAX关键技术

=======================================================================

使用CSS构建用户界面样式,负责页面排版和美工

使用DOM进行动态显示和交互,对页面进行局部修改

使用XMLHttpRequest异步获取数据

使用JavaScript将所有的元素绑定在一起

AJAX的最大的特点: 异步访问(速度快),局部刷新(用户体验度高)

在这里插入图片描述

在这里插入图片描述

案列

=================================================================

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

原生JS实现异步的常见问题及解决方案

=================================================================================

早期的浏览器不支持直接 new XMLHTTPReuquest 可以通过new ActiveXObject(“Microsoft.XMLHTTP”);

在这里插入图片描述

open底层

在这里插入图片描述

在这里插入图片描述

post请求发送ajax

===========================================================================

在这里插入图片描述

在这里插入图片描述

ajax请求的状态

========================================================================

因为ajax的请求的步骤太多,导致的就是中间的如果说出错误了,那我们是不知道的状态

XMLHTTPequest的几种状态

readyState代表请求的状态或者形情

0:请求没有发出(在调用open()之前)

1:请求已经建立但是还没有发出(调用send()之前)

2:请求已经发出正在处理之中(这里通常可以从响应的到内容头部)

3请求已经处理,响应中有数据可用,但是服务器还没有完成响应

4:响应已经完成,可以访问服务器响应并使用它

在AJAX中有以上五种状态,但是通常只使用状态4

status代表响应状态码

200

404

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

可以通过状态值的改变,来执行程序

在这里插入图片描述

响应类型

===================================================================

纯文本格式

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

如果前台返回的是一个对象,那么在使用纯文本就不合适了

这个时候可以借用json这个格式

在这里插入图片描述

可以通过修改tostring方法

在这里插入图片描述

返回返回前台的仍是一个字符串的形式。需要转换

在这里插入图片描述

但是修改同string这种方式太过麻烦,我们也可以这样

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

如果响应的是xml格式

在这里插入图片描述

在这里插入图片描述

实现二级联动

=====================================================================

在这里插入图片描述

在这里插入图片描述

AJAX结合jquery实现

=============================================================================

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

jQuery实现AJAX的其他写法

================================================================================

$.load()


jQuery load() 方法是简单但强大的 AJAX 方法,load() 方法从服务器加载数据,并把返回的数据放入被选元素中。默认使用 GET 方式 - 传递附加参数时自动转换为 POST 方式,

语法为:

$(selector).load(URL,data,callback);

在这里插入图片描述

在这里插入图片描述

$.get()


这是一个简单的 GET 请求功能以取代复杂 $.ajax 。请求成功时可调用回调函数。如果需要在出错时执行函数,请使用 $.ajax。

语法为

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

在这里插入图片描述

在这里插入图片描述

url: URL地址

data:待发送参数。

callback:载入成功时回调函数。

type:返回内容格式,xml, html, script, json, text, _default

在这里插入图片描述

$.post()


这是一个简单的 POST 请求功能以取代复杂 $.ajax 。请求成功时可调用回调函数。如果需要在出错时执行函数,请使用 $.ajax。

语法为:

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

参数的含义为:

url: URL地址

data:待发送参数。

callback:载入成功时回调函数。

type:返回内容格式,xml, html, script, json, text, _default

在这里插入图片描述

$.getScript()


$.getScript()可以实现通过 HTTP GET 请求载入并执行一个 JavaScript 文件的效果

语法为

$.getScript(url,[callback])

参数的含义为

url:URL地址

callback:载入成功时回调函数。

$.getJSON()


JSON是一种较为理想的数据传输格式,它能够很好的融合与JavaScript或其他宿主语言,并且可以被JS直接使用。使用JSON相比传统的通过 GET、POST直接发送“裸体”数据,在结构上更为合理,也更为安全。至于jQuery的getJSON()函数,只是设置了JSON参数的 ajax()函数的一个简化版本。语法为:

$.getJSON(

url, //请求URL

[data], //传参,可选参数

[callback] //回调函数,可选参数

);

在这里插入图片描述

跨域

=================================================================

什么是跨域?


出于浏览器的同源策略限制。同源策略(Sameoriginpolicy)是一种约定,它是浏览器最核心也最基本的安全功能,如果缺少了同源策略,则浏览器的正常功能可能都会受到影响。可以说Web是构建在同源策略基础之上的,浏览器只是针对同源策略的一种实现。同源策略会阻止一个域的javascript脚本和另外一个域的内容进行交互。所谓同源(即指在同一个域)就是两个页面具有相同的协议(protocol),主机(host)和端口号(port)

通过:dataType:'jsonp’属性实现跨域请求


Title

@WebServlet(“/servlet9”)

public class Servlet9 extends HttpServlet{

@Override

protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {

String username = req.getParameter(“username”);

System.out.println(username);

String functionName=req.getParameter(“functionName”);

System.out.println(functionName);

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数前端工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Web前端开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
img
img
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以添加V获取:vip1024c (备注前端)
img

最后

小编的一位同事在校期间连续三年参加ACM-ICPC竞赛。从参赛开始,原计划每天刷一道算法题,实际上每天有时候不止一题,一年最终完成了 600+:

凭借三年刷题经验,他在校招中很快拿到了各大公司的offer。

入职前,他把他的刷题经验总结成1121页PDF书籍,作为礼物赠送给他的学弟学妹,希望同学们都能在最短时间内掌握校招常见的算法及解题思路。

整本书,我仔细看了一遍,作者非常细心地将常见核心算法题和汇总题拆分为4个章节。

CodeChina开源项目:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】

而对于有时间的同学,作者还给出了他结合众多数据结构算法书籍,挑选出的一千多道题的解题思路和方法,以供有需要的同学慢慢研究。

最终完成了 600+:**

凭借三年刷题经验,他在校招中很快拿到了各大公司的offer。

入职前,他把他的刷题经验总结成1121页PDF书籍,作为礼物赠送给他的学弟学妹,希望同学们都能在最短时间内掌握校招常见的算法及解题思路。

整本书,我仔细看了一遍,作者非常细心地将常见核心算法题和汇总题拆分为4个章节。

CodeChina开源项目:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】

而对于有时间的同学,作者还给出了他结合众多数据结构算法书籍,挑选出的一千多道题的解题思路和方法,以供有需要的同学慢慢研究。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值