json 是一种与语言无关的数据交换的模式。只是一种数据格式:
ajax :
是么是同步 什么事异步
同步现象:客户端发送请求到服务端,当服务端返回响应之前,客户端都处于等待卡死状态。
异步现象:客户端发送请求到服务器端,无论服务器是否返回,客户端都可以随意做其他的时候,不会卡死。
二原声js的 ajax 技术这只是作为了解。
(感觉,我要是会了很多技术,或者说技术练熟练了,我感觉写着还是 很带劲的,可以写的很开心,很嗨的,特别是做项目的时候,就是因为自己现在很多知识不熟练,不清楚。很多的代码要敲是十遍,在脑海中有印象,当然就可以写的很好了)
function fn1() {
alert(11);
//1创建 ajax q引擎对象 ----所有的操作 都是通过引擎对象
var xmlHttp = new XMLHttpRequest();
//2 ,绑定监听---监听服务器是否已经返回相应的数据
xmlHttp.onreadystatechange = function() {
if (xmlHttp.readyState == 4 && xmlHttp.status == 200) {
//5 接受相应的数据
var res = xmlHttp.responseText;
alert(res);
}
}
//3、绑定地址
xmlHttp.open("get", "/ajax/AjaxServlet", true);
//4发送请求
//if是post请求的话:要在send 发送之前写
xmlHttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
xmlHttp.send();
}
按
照
步骤来:1/第一步创建引擎 2/第二步绑定监听 3/第三步绑定地址 4 /发送请求 ,5 /接受相应的数据,这一步放在第2步的里面。
三 很重要的JSON的数据格式:
1/对象格式:
{"key1":obj,"key2":obj,"key":obj}
//这个里面的obj如果是字符串,那么就要加引号,如果不是就直接写
2/数组:集合格式:
var json = {
"key1":"value1",
"key2":{"firstname":"张","lastname":"三丰","age":100},
"key3":[
{"name":"小双","age":28,"addr":"扬州"},
{"name":"建宁","age":18,"addr":"紫禁城"},
{"name":"阿珂","age":10,"addr":"山西"},
]
};
alert(json.key2.lastname);
alert(json.key3[2].name);
其实每一步只需要一步步点出来就可以了。
//java代码只能返回一个json格式的字符串
response.setContentType("text/html;charset=UTF-8");
response.getWriter().write("{\"name\":\"汤姆\",\"age\":21}");
当是post请求的时候,是不需要去管字符集的,因为这里ajax a已经帮你调用过。parseJSONY已经处理过字符集了。其他的就跟平时一样处理字符集就可以了。
jQuery的ajax技术:重点:
记住要使用:jquery 最重要的前提就是要导包 jquery的包
get 方法 和post 方法
但是最重要的还是ajax最原始的方法
function fn1(){
//get异步访问
$.get(
"/WEB22/ajaxServlet2", //url地址
{"name":"张三","age":25}, //请求参数
function(data){ //执行成功后的回调函数
//{\"name\":\"tom\",\"age\":21}
alert(data.name);
},
"json"
);
}
function fn2(){
//post异步访问
$.post(
"/WEB22/ajaxServlet2", //url地址
{"name":"李四","age":25}, //请求参数
function(data){ //执行成功后的回调函数
alert(data.name);
},
"json"
);
}
function fn3(){
$.ajax({
url:"/WEB22/ajaxServlet2",
async:true,
type:"POST",
data:{"name":"lucy","age":18},
success:function(data){
alert(data.name);
},
error:function(){
alert("请求失败");
},
dataType:"json"
});
async :是否异步,默认是TRUE代表异步。
data :发送到服务器的参数,建议使用json的格式
dateType :服务器端返回的数据类型,常用的text和json 一般都是json
success :成功响应执行的函数,对应的类型是function类型
type:请求方式 ,post /get
url :请求的服务器端地址
今天算是复习了,不得不说效率还是 太慢了一点。这个 不能这个样子了。
贴吧的代码,支付宝的代码, struts2 的 filter 明天面试,改背的一定要好好去背