json和ajax的使用

一 什么是JSON

JSON全称JavaScript Object Notation,即JavaScript对象标记法。JSON是一种轻量级、基于文本、可读的格式。虽然全称中带有JavaScript,但只是说明其语法规则是参考JavaScript的,而不是说只能用于JavaScript。JSON格式具有长时间的稳定性,不存在任何兼容性问题,并且与XML比较,JSON文件更小、读写更快
1.1JSON的作用
JSON是存储和交换文本的语法,当数据在浏览器与服务器之间进行交换时,这些数据只能是文本,JSON属于文本,并且我们能够把任何JavaScript对象转换为JSON,然后将JSON发送给服务区,我们也能把从服务器接收到的任何JSON转换为JavaScript对象。以这样的方式,我们能够把数据作为JavaScript对象来处理,无需复杂的解析和转译。
1.2 JSON的格式
JSON具有以下这些形式:
对象是一个无序的“‘名称/值’对”集合。一个对象以“{”(左括号)开始,“}”(右括号)结束。每个“名称”后跟一个“:”(冒号);“‘名称/值’ 对”之间使用“,”(逗号)分隔。
1.3 JSON和JS的相互转换
要实现JSON和JS对象的互换,即对JSON的解析和生成,而在JavaScript中,有两个方法可以完成对JSON的解析和生成,一个是JSON.parse(),一个是JSON.stringify()。

JSON字符串转为JS对象,使用JSON.parse()方法。在这里插入图片描述
JS对象转换为JSON字符串,使用JSON.stringify()方法。
在这里插入图片描述

二 什么是ajax

2.1 初识Ajax
ajax全称Asynchronous Javascript And XML(异步的JavaScript和XML )。Ajax并不是一种新的编程语言,而是多种技术的综合应用,是前后台交互的能力,即客户端给服务端发送消息的工具以及接受响应的工具。Ajax可以在不重新加载整个页面的情况下,实现局部刷新网页的功能。Ajax分为同步(async=false)和异步(async=true)的执行机制,默认是异步的。
2.2 ajax的优势
不需要插件的支持,原生js就可以使用。
用户体验感好(不需要重新加载整个页面就可以局部更新数据)。
能够减轻服务端和带宽的负担。
**2.3ajax的格式`

var xhr = new XMLHttpRequest();
xhr.open('GET','请求的服务器地址',true);
xhr.setRequestHeader(header,value);
xhr.onreadystatechange = function(){
        if(xhr.readyState === 4 && xhr.stastus === 200){
            console.log(xhr.responseText);
        }
}
xhr.send(data);

1 :AJAX-创建 XMLHttpRequest 对象:xhr
var xhr = new XMLHttpRequest();
2:xhr.open();
用来设置请求协议
xhr.open(‘GET’,‘请求的服务器地址’,true);

1、第一个参数 要用来请求方式 GET/POST 中’GET’通常用来获取资源;
3、第二个参数 要用来请求的服务器地址(接口地址);
4、第三个参数 要用来设置请求方式(默认认知true true 异步/false 同步)

3:xhr.setRequestHeader();
用来设置请求头
xhr.setRequestHeader(header,value);

1、此方法用来设置HTTP请求头部的方法;
2、此方法必须在 xhr.open() 方法和 xhr.send() 之间调用。

4:xhr.onreadystatechange

用来监听 AJAX 请求
xhr.onreadystatechange = function(){
if(xhr.readyState === 4 && xhr.stastus === 200){
console.log(xhr.responseText);
}
}

1、当请求被发送到服务器时,用来执行一些基于响应的任务;
2、每当 readyState 改变时,就会触发 onreadystatechange 事件;
3、readyState 属性存有 XMLHttpRequest 的状态信息。

xhr.readyState
用来反应 AJAX 运行状态值,无论是否成功

xhr.readyState === 4
1
1、resdyState === 0 创建ajax实例,值就是0;
2、resdyState === 1 open执行完之后 值就是1
3、resdyState === 2 客户端请求发出去之后,客户端(前段)已经接收到请求的头部信息
4、resdyState === 3 正在接触响应体
5、resdyState === 4 响应体接收完毕

xhr.status
用来反应由HTTP协议根据所提交信息的状态码,无论AJAX访问是否成功
xhr.stastus === 200

1、xhr.stastus === 2开头的一般都代表成功;
2、xhr.stastus === 3开头的一般都代表重新定向 304代表走的缓存;
3、xhr.stastus === 4开头的一般都代表前端路径错误 404(找不到资源) 405(请求类型的错误);
4、xhr.stastus === 5开头的一般都是服务器的错误;

xhr.responseText
从服务器返回的数据
xhr.responseText

1、此属性包含对文本的请求的响应,若是请求成功,就返回一个DOM字符串;
2、若是请求不成功或尚未发送,则返回null。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
$.getJSONajax都是用于发送HTTP请求和获取服务器数据的方法,它们在实现上有一些区别。 1. 语法:$.getJSON是jQuery库中的一个方法,用于发送GET请求并自动解析返回的JSON数据。它的语法是`$.getJSON(url, data, success)`,其中url是请求的URL地址,data是发送给服务器的数据,success是请求成功后执行的回调函数。 而ajaxJavaScript提供的一种通用的发送HTTP请求的方法,它的语法是`$.ajax(settings)`,其中settings是一个包含各种请求参数的对象,包括url、type(请求类型,如GET、POST等)、data(发送给服务器的数据)、success(请求成功后执行的回调函数)等。 2. 数据类型:$.getJSON方法默认解析服务器返回的JSON数据,并将解析后的对象作为参数传递给success回调函数。而ajax可以处理多种数据类型,包括JSON、XML、HTML等。 3. 自动解析:$.getJSON方法会自动解析返回的JSON数据,并将解析后的对象作为参数传递给success回调函数。而ajax需要手动处理服务器返回的数据,可以通过设置dataType参数指定返回数据的类型,然后在success回调函数中进行处理。 4. 请求类型:$.getJSON方法只能发送GET请求,无法发送POST请求。而ajax可以发送各种类型的请求,包括GET、POST、PUT、DELETE等。 综上所述,$.getJSON方法是ajax的一个简化版本,专门用于发送GET请求并自动解析返回的JSON数据。而ajax是更通用的方法,可以处理各种类型的请求和返回数据。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值