原生post请求模板
//1.创建xhr对象
var xhr=new XMLHttpRequest();
// 2.监听函数
xhr.onreadystatechange=function(){
xhr.readyState==4&&xhr.status==200?console.log(xhr.responseText):'';
}
// 3.建立连接
xhr.open("POST","02.php",true);
//3.5 post请求设置请求头
xhr.setRequestHeader("content-type","application/x-www-form-urlencoded");
// 4.发送
xhr.send("username=hutao&score=100")
jquery请求模板
$.ajax({
type:"POSt",//请求类型
url:"02.php",//地址
data:{//参数
"username":"hutao",
"score":30
},
success:function(data){//成功
console.log(data)
}
error : function(err){//失败
console.log(err)
}
})
get请求测试在浏览器中可以完成,直接在url后面加?username=hutao&scpre=30
readyState 属性表示Ajax请求的当前状态。它的值用数字代表。
0 代表未初始化。 还没有调用 open 方法
1 代表正在加载。 open 方法已被调用,但 send 方法还没有被调用
2 代表已加载完毕。send 已被调用。请求已经开始
3 代表交互中。服务器正在发送响应
4 代表完成。响应发送完毕
常用状态码(status)及其含义:
404 没找到页面(not found)
403 禁止访问(forbidden)
500 内部服务器出错(internal service error)
200 一切正常(ok)
304 没有被修改(not modified)(服务器返回304状态,表示源文件没有被修改 )
跨域?
ajax受到同源策略的限制,不允许访问别的域的资源
解决的办法有 全部要求服务端配合
1.代理
2.设置服务端的请求头
3.jsonp