AJAX 和JSON学习笔记

AJAX 和JSON


AJAX概念:ASynchronous javascript and xml 异步的javascript和xml

异步和同步:客户端和服务器端相互通信的基础上

同步:客户端必须等待服务器的响应,在等待的期间客户不能做其他操作

异步:客户端不需要等待服务器的响应,在服务器处理请求的过程中,客户端可以进行其他操作

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

实现方式:

原生的JS实现方式

var xmlhttp;
if (window.XMLHttpRequest)
{
    //  IE7+, Firefox, Chrome, Opera, Safari 浏览器执行代码
    xmlhttp=new XMLHttpRequest();
}
else
{
    // IE6, IE5 浏览器执行代码
    xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.open("GET","ajax_info.txt",true);
xmlhttp.send();
注意:open(method,url,async)
规定请求的类型、URL 以及是否异步处理请求。
method:请求的类型;GET 或 POST
url:文件在服务器上的位置
async:true(异步)或 false(同步)
注意:send(string)
将请求发送到服务器。
string:仅用于 POST 请求
获取服务器响应
responseText	获得字符串形式的响应数据。
responseXML	获得 XML 形式的响应数据
xmlDoc=xmlhttp.responseXML;
txt="";
x=xmlDoc.getElementsByTagName("ARTIST");
for (i=0;i<x.length;i++)
{
    txt=txt + x[i].childNodes[0].nodeValue + "<br>";
}
document.getElementById("myDiv").innerHTML=txt;

JQuery实现方式

1.$.ajax(),

$.ajax({

url:“abd”,(请求的路径)

type:“post”,(请求方式)

data:(“s”:b,“c”:“cc”),(这里就是键值对)

success:function(data){

alert(“data”)

}

})

datatype:“text”(设置接受数据的格式)

2.$.get():发送get请求

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

url 请求路径

data 请求参数

callback 回调函数

type 响应结果的类型

3.$.post():发送post请求,类似


JSON

概念:javascript object notation javascript对象表示法

如:

person p=new persion();

p.setname(“xxxx”);

p.setage(12);

var p={“name”:“sssss”,“age”:121}

概念:JavaScript 对象表示法是存储和交换文本信息的语法。类似 XML比 XML 更小、更快,更易解析。

语法:

JSON 语法是 JavaScript 对象表示法语法的子集。

  • 数据在名称/值对中:

    数据由键值对构成,建用引号(单或双),也可以不用

    值得取值类型:

    数字,字符串,逻辑值

    数组(在方括号中):

    "employees": [
    { "firstName":"John" , "lastName":"Doe" },
    { "firstName":"Anna" , "lastName":"Smith" },
    { "firstName":"Peter" , "lastName":"Jones" }
    ]
    

    对象(在花括号中)如:

    var person={ "firstName":"John" , "lastName":"Doe" }
    

    null

  • 数据由逗号分隔

  • 花括号保存对象

  • 方括号保存数组

基本定义模式:

var person={ “firstName”:“John” , “lastName”:“Doe” }

嵌套格式

var person={"employees": [
{ "firstName":"John" , "lastName":"Doe" },
{ "firstName":"Anna" , "lastName":"Smith" },
{ "firstName":"Peter" , "lastName":"Jones" }
]}

获取数据:

json对象.键名,json对象[“键名”],数组对象[索引]

当服务器端拿到json对象要进行转换json->java,要将数据发给客户端时将java对象转成json对象

json解析器:jsonlib,gson,fastjson,jackson

  1. JSON转成java对象

  2. Java转成json对象

    使用步骤:

    导入解析器的jar包

    创建解析器对象

    调用对象相关方法

    比如:Jackson的核心对象

    ObjectMapper =new ObjectMapper();

    writeValue(参数1,obj)

    参数1:file:将obj对象转换未json字符串,并保存到指定的文件中

    ​ writer:将obj对象转换成json字符串,将json数据填充到字符输出流

    ​ outputstream:将obj对象转换成json字符串,将json数据填充到字节输出流

    writevalueasstring(obj):将对象转为json字符串

    注解:

    当你不想把对象里面的属性转换时就需要用到@JsonIgnore来忽略属性

    当你相对相关属性进行格式化时@Jsonformat()

    复杂java对象转换

    list:数组

    map:对象

    Json字符串转为java对象

    String json="{“gender”,“男”}"

    ObjectMapper mapper=new ObjectMapper();

    Person person=mapper.readvalue(json,Person.class);

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值