Ajax简介

这篇具有很好参考价值的文章主要介绍了Ajax简介。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、Ajax简介

Ajax 即“Asynchronous Javascript And XML”(异步 JavaScript 和 XML),是指⼀种创建交互式⽹⻚应⽤的⽹⻚开发技术。

Ajax 是⼀种⽤于创建快速动态⽹⻚的技术。

Ajax 是⼀种在⽆需重新加载整个⽹⻚的情况下,能够更新部分⽹⻚的技术。

通过在后台与服务器进⾏少量数据交换,Ajax 可以使⽹⻚实现异步更新。这意味着可以在不重新加载整个⽹⻚的情况下,对⽹⻚的某部分进⾏更新。

传统的⽹⻚(不使⽤Ajax)如果需要更新内容,必须重载整个⽹⻚⻚⾯。

二、同步与异步

1、同步:发送⼀个请求,需要等待响应返回,然后才能够发送下⼀个请求,如果该请求没有响应,不能发送下⼀个请求,客户端会处于⼀直等待过程中。

2、异步:发送⼀个请求,不需要等待响应返回,随时可以再发送下⼀个请求,即不需要等待。

三、应用场景

1、在线视频、直播平台等…评论实时更新、点赞、⼩礼物、…

2、会员注册时的信息验证,⼿机号、账号唯⼀

3、百度关键搜索补全功能

实现代码:

$.ajax({

url:"",//访问的地址

data:{

Name:”张三”,},//参数

type:"post/get",//请求类型

async:true,//是否同步,异步。 默认为true(异步)一般不建议写

dataType:"text",//返回值的类型 text xml html json

success:function(obj){//成功的回调函数

},

error:function(){//失败的回调函数 一般不写

}

})

注意事项:

1、每个属性后都要跟随⼀个英⽂逗号,最后⼀个不⽤。

2、每⼀个属性都是键值对的形式存在,中间⽤英⽂冒号:隔开

3、data:{} 是⼀个特殊的写法,值是⼀个{},⾥⾯使⽤键值对存储

例如:data:{“键1”:值1, “键2”:值2, “键3”:值3}

4、以上属性没有先后顺序要求

Get请求方式

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

Url:请求地址

Data:请求参数

Callback: 回调函数

Type: 返回类型

$.get() 的第一个参数是我们希望请求的 URL(“demo_test.asp”)。第二个参数是回调函数。第一个回调参数存有被请求页面的内容,第二个回调参数存有请求的状态。

$("button").click(function(){

$.get("demo_test.asp",function(data,status){

alert("Data: " + data + "\nStatus: " + status);

});

});

Post请求

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

Url:请求地址

Data:请求参数

Callback: 回调函数

Type: 返回类型

$.post() 的第一个参数是我们希望请求的 URL (“demo_test_post.asp”)。然后我们连同请求(name 和 city)一起发送数据。“demo_test_post.asp” 中的 ASP 脚本读取这些参数,对它们进行处理,然后返回结果。第三个参数是回调函数。第一个回调参数存有被请求页面的内容,而第二个参数存有请求的状态

$("button").click(function(){

$.post("demo_test_post.asp",

{

name:"Donald Duck",

city:"Duckburg"

},

function(data,status){

alert("Data: " + data + "\nStatus: " + status);

});

});

区别

相同点:都是jQuery封装的⽅法实现异步交互。

不同点: $.ajax()是jQuery的第⼀次封装,使⽤时稍显麻烦,但是功能强⼤,覆盖了get和post请求,有错误调试能⼒,写法顺序可以改变。

$.post()和$.get()是jQuery Ajax的第⼆次封装,由于$.Ajax()写法过于臃肿,简化为$.post()和$.get(),功能是相同的没有区别。但是写法要求更⾼,顺序不能改变。

案例案例需求: 校验⽤户名唯⼀在⽤户注册⻚⾯,输⼊⽤户名,当⽤户名输⼊框失去焦点时,发送异步请求,将输⼊框的⽤户名传递给服务器端进⾏是否存在的校验

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html> <head> <title>Title</title> <script src="./js/jquery-3.3.1.js"></script> <script> 
$(function(){
$("#uname").blur(function(){
var uname = $("#uname").val();
//判断⽤户名不为空
var req = /^\s*$/;
if(req.test(uname)){
$("#msg").html("⽤户名不能为空").css("color","red");
return;
}
//发送ajax请求
$.ajax({
url:"${pageContext.request.contextPath}/ckeckUsername",
data:{"uname":uname},
type:"post",
dataType:"text",
success:function(obj){
//判断
if(obj){
$("#msg").html("该⽤户名已被占⽤").css("color","red");
}else{
$("#msg").html("该⽤户名可⽤").css("color","green");
}
}
})
})
})
</script>
</head>
<body> 
<p>⽤户名: <input type="text" id="uname" name="uname"> <span id="msg"></span></p> 
<p> <input type="button" value="注册"></p>
</body>
</html>

1.6、JQuery的通用方式实现AJAX
核心语法:$.ajax({name:value,name:value,…});

url:请求的资源路径。
async:是否异步请求,true-是,false-否 (默认是 true)。
data:发送到服务器的数据,可以是键值对形式,也可以是 js 对象形式。
type:请求方式,POST 或 GET (默认是 GET)。
dataType:预期的返回数据的类型,取值可以是 xml, html, js, json, text等。
success:请求成功时调用的回调函数。
error:请求失败时调用的回调函数。
代码实现

2、异步:发送⼀个请求,不需要等待响应返回,随时可以再发送下⼀个请求,即不需要等待。
异步:服务器端在处理过程中,可以进行其他操作。
GET 方式实现:.post();
url:请求的资源路径。
data:发送给服务器端的请求参数,格式可以是key=value,也可以是 js 对象。
callback:当请求成功后的回调函数,可以在函数中编写我们的逻辑代码。
type:预期的返回数据的类型,取值可以是 xml, html, js, json, text等。
通用方式实现:$.ajax();
url:请求的资源路径。
async:是否异步请求,true-是,false-否 (默认是 true)。
data:发送到服务器的数据,可以是键值对形式,也可以是 js 对象形式。
type:请求方式,POST 或 GET (默认是 GET)。
dataType:预期的返回数据的类型,取值可以是 xml, html, js, json, text等。
success:请求成功时调用的回调函数。
error:请求失败时调用的回调函数。

1.6json
JSON回顾
JSON(JavaScript Object Notation):是一种轻量级的数据交换格式。

它是基于 ECMAScript 规范的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。

简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。易于人阅读和编写,同时也易于计算机解析和生成,并有效的 提升网络传输效率。

FastJson是啊里巴巴的的开源库,用于对JSON格式的数据进行解析和打包。
1.1.1.JSON 与 JS 对象的关系
很多人搞不清楚 JSON 和 JS 对象的关系,甚至连谁是谁都不清楚。其实,可以这么理解:
JSON 是 JS 对象的字符串表示法,它使用文本表示一个 JS 对象的信息,本质是一个字符串。

1 var obj = {a: 'Hello', b: 'World'}; //这是一个对象,注意键名也是可以使用引号包裹的
1 var json = '{"a": "Hello", "b": "World"}'; //这是一个 JSON 字符串,本质是一个字符串
1.1.2.JSON 和 JS 对象互转
要实现从JSON字符串转换为JS对象,使用 JSON.parse() 方法:
1 var obj = JSON.parse('{"a": "Hello", "b": "World"}'); //结果是 {a: 'Hello', b: 'World'}
要实现从JS对象转换为JSON字符串,使用 JSON.stringify() 方法:
1 var json = JSON.stringify({a: 'Hello', b: 'World'}); //结果是 '{"a": "Hello", "b": "World"}'

特点如下:

ajax,ajax,javascript,服务器

能够支持将java bean序列化成JSON字符串,也能够将JSON字符串反序列化成Java bean。
顾名思义,fastjson操作 JSON的速度是非常快的。
无其他包的依赖。
使用比较方便。

java类转换为json字符串:
//简单对象转换
User user = new User("root", "123456");
//调用toJSONString()
String userJson = JSON.toJSONString(user);
System.out.println("java类转换为json串:" + userJson);

    //集合转json串
    User user1 = new User("zhangsan", "123456");
    User user2 = new User("lisi", "000");
    List<User> users = new ArrayList<User>();
    users.add(user1);
    users.add(user2);
    //调用toJSONString()
    String usersjson = JSON.toJSONString(users);
    System.out.println("集合转json串:" + usersjson);

    //复杂java类转换对象
    UserGroup userGroup = new UserGroup("userGroup", users);
    //调用toJSONString()
    String userGroupJson = JSON.toJSONString(userGroup);
    System.out.println("复杂java类转换json串:" + userGroupJson);

结果
java类转换为json串:{"password":"123456","username":"root"}
集合转json串:[{"password":"123456","username":"zhangsan"},{"password":"000","username":"lisi"}]
复杂java类转换json串:
{
"name":"userGroup",
"users":[{"password":"123456","username":"zhangsan"},
{"password":"000","username":"lisi"}]
}
2.json字符串转为java类:

/* json字符串转简单java对象
* 字符串:{"password":"123456","username":"dmego"}
*/
String jsonStr1 = "{'password':'123456','username':'ggf'}";
// 调用parseObject()
User user = JSON.parseObject(jsonStr1, User.class);
System.out.println("json字符串转简单java对象:"+user.toString());

    /*
     * json字符串转List<Object>对象
     * 字符串:[{"password":"123123","username":"zhangsan"},
     *        {"password":"321321","username":"lisi"}]
     */
    String jsonStr2 = "[{'password':'123123','username':'zhangsan'},{'password':'321321','username':'lisi'}]";
    // 调用parseArray()将字符串转为集合
    List<User> users = JSON.parseArray(jsonStr2, User.class);
    System.out.println("json字符串转List<Object>对象:"+users.toString());

    /*json字符串转复杂java对象
     * 字符串:{"name":"userGroup","users":[{"password":"123123","username":"zhangsan"},{"password":"321321","username":"lisi"}]}
     * */
    String jsonStr3 = "{'name':'userGroup','users':[{'password':'123123','username':'zhangsan'},{'password':'321321','username':'lisi'}]}";
    UserGroup userGroup = JSON.parseObject(jsonStr3, UserGroup.class);
    System.out.println("json字符串转复杂java对象:"+userGroup);

结果:
json字符串转简单java对象:User{username='ggf', password='123456'}
json字符串转List

 文章来源地址https://www.toymoban.com/news/detail-693066.html

到了这里,关于Ajax简介的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • thinkphp5实现ajax图片上传,压缩保存到服务器

    thinkphp压缩图片插件官方地址 使用Composer安装ThinkPHP5的图像处理类库: composer require topthink/think-image 另外一种方法,传递base64图片,提交图片数据的字符串

    2024年02月07日
    浏览(49)
  • AJAX-基本了解和掌握(前端必掌握在后台与服务器交换数据)

    首先前端常听到的有ajax,axios,fetch来与服务器交换数据。我们来了解一下这些都是什么? 目录 第一部分:什么是AJAX? 第二部分:什么是axios? 第三部分 什么是fetch? 第四部分 ajax,axios,fetch的区别 第五部分 细节拓展 第一部分:什么是AJAX? AJAX :官方释意:Asynchronous JavaScript

    2024年02月01日
    浏览(54)
  • vue3+elementPlus登录向后端服务器发起数据请求Ajax

    后端的url登录接口 先修改main.js文件 login.vue 此时前端有跨域问题 先配置跨域 vue.config.js  项目中如果没有这个文件 请自行创建。 此时可以看到跳转到登录到home页面  完整的后端登录方法  消息提示使用elementPlus 的Elmessage 

    2024年01月18日
    浏览(43)
  • Qt+QtWebApp开发笔记(五):http服务器html中使用json触发ajax与后台交互实现数据更新传递

      前面完成了页面的跳转、登录,很多时候不刷新页面就想刷新局部数据,此时ajax就是此种技术,且是异步的。   本篇实现网页内部使用js调用ajax实现异步交互数据。   在js中使用 ajax是通过XMLHttpRequest来实现的。        链接:https://pan.baidu.com/s/1tJMTPhIIyVE40qWxRW

    2024年02月08日
    浏览(107)
  • 【Ajax】Ajax 简介

    Ajax(Asynchronous JavaScript and XML)是一种用于创建交互式网页应用程序的技术。它通过使用 JavaScript、XML(现在更常用的是 JSON)和异步通信来实现在不重新加载整个页面的情况下与服务器进行数据交换。 异步通信:Ajax 使用异步方式与服务器进行通信,不需要刷新整个页面,减

    2024年02月15日
    浏览(38)
  • 【Ajax】Ajax与XML简介

    -1.1 AJAX 简介 AJAX 全称为 Asynchronous JavaScript And XML,就是异步的 JS 和 XML。 通过 AJAX 可以在浏览器中向服务器发送异步请求,最大的优势:无刷新获取数据。 AJAX 不是新的编程语言,而是一种将现有的标准组合在一起使用的新方式 1.2 XML 简介 XML 可扩展标记语言。 XML 被设计用来

    2024年02月13日
    浏览(59)
  • ajax-1--XML、AJAX简介、express框架使用、AJAX操作的基本步骤

    一、XML(可扩展标记语言) XML与HTML类似,不同的是HTML中 都是 预定义标签,而XML中 没有 预定义标签,全都是自定义标签,用来表示一些数据。 比如有一个学生数据:name=“孙悟空”;age=18;gender=“男”; 用XML表示: student name 孙悟空 /name age 18 /age gender 男 /gender /student XML被设

    2024年02月08日
    浏览(52)
  • 什么是AJAX?如何使用原生JavaScript搭建AJAX请求?

    前端入门之旅:探索Web开发的奇妙世界 欢迎来到前端入门之旅!感兴趣的可以订阅本专栏哦!这个专栏是为那些对Web开发感兴趣、刚刚踏入前端领域的朋友们量身打造的。无论你是完全的新手还是有一些基础的开发者,这里都将为你提供一个系统而又亲切的学习平台。在这个

    2024年02月11日
    浏览(44)
  • 什么是AJAX?如何使用原生JavaScript进行AJAX请求?

    前端入门之旅:探索Web开发的奇妙世界 欢迎来到前端入门之旅!感兴趣的可以订阅本专栏哦!这个专栏是为那些对Web开发感兴趣、刚刚踏入前端领域的朋友们量身打造的。无论你是完全的新手还是有一些基础的开发者,这里都将为你提供一个系统而又亲切的学习平台。在这个

    2024年02月07日
    浏览(38)
  • JavaScript--AJAX

    目录 概述 XMLHttpRequest对象  方法和属性 示例一: 示例二: 传统的web交互是用户触发一个http请求服务器,然后服务器收到之后,在做出响应到用户,并且返回一个新的页面,每当服务器处理客户端提交的请求时,客户都只能空闲等待,并且哪怕只是一次很小的交互、只需从服务

    2024年02月14日
    浏览(38)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包