如果通过之前的转发,或者重定向,很多问题没法解决
比如我给某个视频点个赞,你经过转发或者重定向,最后虽然点赞成功了,但页面刷新了,视频从头开始放了。
异步刷新:如果网页某一个地方需要修改,异步刷新可以使:只需要修改的地方改
实现:
a. js方式:严格依赖于XMLHttpRequest
XMLHttpRequest对象的方法:
open(方法名(),服务器地址,true):与服务端建立连接
true:表示是异步刷新
方法名:就是提交方式 get post
send():
1.get() :send(null)
2.post(): send(参数值)
setRequestHeader(header,value)
get不需要设置此方法
post:需要设置:1.如果请求元素包含了文件上传:setRequestHeader("Context-Type",multipart/form-data)
不包含文件上传setRequestHeader("Context-Type","application/x-www-form-urlencoded")
XMLHttpRequest对象的属性:
readyState:请求状态 0,1,2,3都表示未完成,只有4表示完成
status:响应状态 200 404 500,只有200代表响应正常
onreadystatechange:回调函数
responseText:响应格式,即返回格式为text
reponseXML:响应格式,即返回格式为xml
b. jquery方式 推荐用这种方式
$.ajax(){
url:服务器地址
请求方式:get|post
data:请求数据
success:function(result,testStatus){
}
error:function(xhr,errorMessage,e){
}
$.get(//因为只有value,没有key,所以严格要求顺序
服务器地址,
请求数据,
function(result){
}
预期返回值类型(String\xml)
);
$.post(
服务器地址,
请求数据,
function(result){
}
预期返回值类型(String\xml) xml json text
);
}
$.load(
服务器地址,
请求数据,
);
);
load:将服务端的返回值,直接加载到$(xxx)所选择的元素中
$.getJSON();
eg:
var student={"name":"zs", "age":23}
var students=[
["name":"zs", "age":23],
["name":"ls", "age":24],
["name":"ww", "age":25]
]
$.getJSON(){
服务器地址
JSON格式的请求数据
}