--Ajax--

本文详细介绍了Ajax的基本概念和使用,包括GET和POST请求的实现。通过原生JavaScript、JQuery以及Vue(使用axios库)展示了不同方式发起Ajax请求的方法。强调了Ajax的异步特性以及在页面局部刷新中的应用,并指出Ajax无法通过后台跳转页面,而是需要前端JS处理页面跳转。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

🚩前言

🌻今天进行Ajax的学习

✏️Ajax

异步刷新(局部刷新),前端技术——可以给后台发请求
四种发请求的方式
地址栏
a标签
form表单
location.href或window.open()
异步:整个页面不会全部刷新,只有某个局部在刷新
例如:验证用户名是否存在
刷新:
请求头:
post请求才有请求体
Ajax发起请求,后台给出的响应会回到Ajax
JS原生的Ajax
re’a’dread
0——初始化成功,open未调用
1——open被调用,建立的连接
2——send被调用,可以获取状态行和响应头
3——可以拿到响应体,响应体加载中
4——响应体下载完成,可以直接使用responseText

✒️GET请求

// 向后台发请求// 使用ajaxlet xhr=new XMLHttpRequest();// 设置请求的方式和URL
       ​xhr.open("GET","hello?username="+user);// 发请求
       ​xhr.send(null);// 指定xhr的状态处理函数
       ​xhr.onreadystatechange=function () {if (this.readyState === 4){// 通过xhr的responseText获取到对应的响应体
               ​span.innerText=xhr.responseText;}};

✒️POST请求

// 向后台发请求// 使用ajaxlet xhr=new XMLHttpRequest();// 发送POST请求
       ​xhr.open("POST","hello");// 设置请求头信息
       ​xhr.setRequestHeader("Content-type","application/x-www-form-urlencoded");// 发请求,设置请求体
       ​xhr.send("username="+user);// 指定xhr的状态处理函数
       ​xhr.onreadystatechange=function () {if (this.readyState === 4){// 通过xhr的responseText获取到对应的响应体
               ​span.innerText=xhr.responseText;}};

✏️JQuery的Ajax

✒️发送GET请求

​ $.get(“hello?username=” + user, function (data) {
​alert(data)
​});

✒️发送POST请求

    ​$.post("hello","username=" + user, function (data) {
       ​alert(data)
   ​});

完整写法
​$.ajax({
​url:“hello”,
​data:{“username=”:username},
​type:“post”,
​success:function (res) {
​},
​error:function (res) {

       ​},
   ​});

✏️Vue的Ajax(aixos)

对原生的Ajax的一个封装

ES6的:Promise语法

✒️GET请求

aixos发送GET请求,这个请求中如果有参数,还是一个默认的以文档流的形式发送,和之前的任何一种请求方式没有任何区别。

        ​get:function(){

           ​axios.get("wea?city="+this.city).then(function (response) {
               ​app1.msg2=response.data;
           ​});
       ​},

✒️POST请求

aixos发送POST请求,这个请求中如果有参数,会把请求体转成json串,然后发给后台

        ​post:function(){
           ​axios.post("wea",{"city":this.city}).then(function (response) {
               ​app1.msg2=response.data;
           ​})
       ​},

【封装对象的前提:json串中的数据的key和对象的属性名要一致】

注意点:
【使用Ajax发送请求,页面是不可以通过后台跳转页面,如果需要跳转页面,也是通过前端的JS来跳转,不可能通过Servlet来跳转】
【Ajax和form表单不能同时使用】
Ajax:不能跳转页面
form表单:一定要跳转页面的

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

烫嘴的辛拉面

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值