一、原生Ajax
<script>
/*获取XMLRequest的对象,可以发送异步请求*/
var xmlhttp;
if (window.XMLHttpRequest) {
xmlhttp = new XMLHttpRequest();
}else {
xmlhttp = new ActiveXObject('Microsoft.XMLHTTP');
}
/*绑定事件*/
xmlhttp.onreadystatechange = function () {
if(xmlhttp.readyState==4 && xmlhttp.status==200){
alert('OK')
}
}
/*准备并发送*/
xmlhttp.open('get','/myhero/hero',true)
xmlhttp.send()
</script>
//优化后的代码
function my_ajax(url,callback,params=null,method="get",isasy=true){
/*获取XMLRequest的对象,可以发送异步请求*/
var xmlhttp;
if (window.XMLHttpRequest) {
xmlhttp = new XMLHttpRequest();
}else {
xmlhttp = new ActiveXObject('Microsoft.XMLHTTP');
}
/*绑定事件*/
xmlhttp.onreadystatechange = function () {
if(xmlhttp.readyState==4 && xmlhttp.status==200){
callback(xmlhttp.responseText)
}
}
/*准备并发送*/
xmlhttp.open(method,url,isasy)
xmlhttp.send(params)
}
//调用函数
my_ajax('/hero/myhero', function(data){
alert('ok')
})
二、Jquery中的Ajax
1、$.ajax():type为POST时,表示发送数据,type为GET时,表示接收数据
$.ajax({
url: '/echarts/get_pie/',
type: 'GET',
dataType: 'JSON',
data: {},
success: function (data) {
for(var i=0;i<data.my_list.length;i++)
{
arr.push( data.my_list[i])
}
get_graph()
},
error: function () {
alert("服务器出错了");
}
});
2、$.post():发送数据
$.post("/echarts/get_pie/", function(data){
for(var i=0;i<data.my_list.length;i++){
arr.push(data.my_list[i])
}
})
3、$.get():接收数据
$.get("/echarts/get_pie/", function(data){
for(var i=0;i<data.my_list.length;i++){
arr.push(data.my_list[i])
}
})