-
Ajax与JSON
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Ajax案例</title>
<link rel="stylesheet" href="css/ajaxstyle.css">
</head>
<body>
<div class="banner" id="banner"></div>
<script>
function createXHR(){
var xhr;
if(window.XMLHttpRequest){
xhr = new XMLHttpRequest();
}else{
xhr = new ActiveXObject("Microsoft.XMLHTTP");
}
return xhr;
}
var xhr = createXHR();
var data = null;
xhr.onreadystatechange = function(){
if(xhr.readyState === 4 ){
if((xhr.status>=200&&xhr.status<300)||xhr.status===304){
data = JSON.parse(xhr.responseText);
renderDataToDom();
}else{
console.log("unsuccess");
}
}
}
xhr.open('get','./ajax/server/slider.json',true);
xhr.send(null);
function renderDataToDom(){
var img = data.slider,
i,len=img.length,
str="",
banner = document.getElementById("banner");
for(i=0;i<len;i++){
str+= '<a href="'+img[i].linkUrl+'"><img src="'+img[i].picUrl+'"></a>';
}
banner.innerHTML = str;
}
</script>
</body>
</html>
-
jQuery的ajax
jQuery的Ajax方法
$.ajax();
$.get();
$.post();
$.getJson();
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Ajax_jQuery</title>
<link rel="stylesheet" href="css/ajaxstyle.css">
</head>
<body>
<div class="banner" id="banner"></div>
<script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.5.1/jquery.js"></script>
<script>
$.ajax({
url:"./ajax/server/slider.json",
type:"post",
dataType:"json",
async:true,
success:function(datas){
renderDatasToDom(datas.slider);
}
});
function renderDatasToDom(data){
var str="";
$.each(data,function(index,obj){
str+='<a href="'+obj.linkUrl+'"><img src="'+obj.picUrl+'"></a>';
})
$("#banner").html(str);
}
</script>
</body>
</html>
- ##关于Ajax中的跨域请求
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>ajax_demo2</title>
</head>
<body>
<script>
function getJSONP(url,callback){
if(!url){
return;
}
var arr = ["a","b","c","d","e","f","g","h","i","j"];
var r1 = Math.floor(Math.random()*10);
var r2 = Math.floor(Math.random()*10);
var r3 = Math.floor(Math.random()*10);
var name = "getJSONP"+arr[r1]+arr[r2]+arr[r3];
var cbname = "getJSONP."+name;
if(url.indexOf('?')===-1){
url += "?jsonp="+cbname;
}else{
url += "&jsonp="+cbname;
}
var script = document.createElement('script');
getJSONP[name] = function(e){
try{
callback && callback(e);
}catch(e){
}finally{
delete getJSONP[name];
script.parentNode.removeChild(script);
}
}
script.src = url;
document.getElementsByTagName("head")[0].appendChild(script);
}
getJSONP('http://class.imooc.com/api/jsonp',function(res){
console.log(res);
});
</script>
</body>
</html>