JQuery--ajax的各种请求方式
JQuery对Ajax做了大量的封装,使用起来很方便,不需要去考虑浏览器兼容性。对于封装的方式,采用了三层封装:
最底层的封装方法为:$.ajax(),
第二层有三种方法:.load()、$.get()和$.post()
最高层是$.getScript()和$.getJSON()方法。
接下来看每种方法的用法以及不同:
<script src="js/jquery.min.js"></script>
<body>
<div></div>
<button>加载数据</button>
</body>
<script type="text/javascript">
$("div").load(url, function(data,statusText,xhr) {
/*
data 下载到的数据
statusText 下载的状态 success
xhr ajax对象
*/
})
//如果需要筛选条件进行显示 只需要在url参数后面跟着一个选择器即可
</script>
$.getJSON("https://api.asilu.com/weather/",{city: "XX市"},function(data){
})
$.get("https://api.asilu.com/weather/",{city: "XX市"},function(data){
})
$.post("https://api.asilu.com/weather/",{city: "XX市"},function(data){
})
/*
三种使用方法基本一样。
需要注意的是:getJSON方式要求返回的数据格式满足json格式(json字符串)
*/
这里需要注意的是,函数回调参数的不同。
get:(通过URL提交)
好处:简单
缺点:不安全,最大2KB
post: (通过HTTP消息实体提交)
好处:安全,理论上没有上限
坏处:比get复杂
Fetch:
先看代码块
fetch("https://api.asilu.com/weather/").then(function(response){
return response.json();
// console.log(response)
},function(data){
// console.log(data);
})
它只是一个HTTP响应,而不是真正的JSON。为了获取JSON的内容,需要使用json()方法
fetch内置方法
res.json() //转json数据
res.text() //转文本数据