一、load方法:
<script src="./jquery-3.2.1.js" charset="utf-8"></script>
<script type="text/javascript">
$(document).ready(function() {
$('#content').load('./dat.html', function (data, status) {
if (status == 'error') {
$('#content').text('404,你要的頁面去火星啦')
}
});
$('#content').load('./data.html .header,.header1', function (data) {
console.log(data);
})
//我們可以在請求的URL字符串后拼接一個選擇器,使用空格隔開URL和選擇器,這樣當load方法
//把指定的數據請求下來后,會根據選擇器匹配對應的標簽,只把匹配上的標簽拼接進DOM文檔流。
//如果需要使用多個選擇器作為過濾器,則多個選擇器之間使用“,”隔開。
$('#content').load('./data.html?user=張三&pass=123 h1', function (data, status, xhr) {
console.log(xhr);
})
});
</script>
<body>
<div id="content">
</div>
</body>
load():由頁面中的標簽對象調用,該方法被用來加載存放在服務器中的靜態文件(一般指html代碼片段),當請求到這份文件后,會把文件中的數據拼接進調用的標簽中。
- 參數一:必選
要引入的靜態文件路徑,字符串類型,如果要發送get請求則將請求參數拼接在路徑后。 - 參數二:可選
使用post請求時,該參數放的是傳遞的數據,使用的是對象類型。 - 參數三:可選
請求結束時的回調函數(不管請求是否成功,都會觸發該函數);
回調函數中有兩個參數:在請求成功時,第一個參數保存的是請求到的數據,第二個參數保存的是“success”字符串;在請求失敗時,第一個參數保存的是失敗原因,第二個參數保存“error”字符串。我們可以根據第二個參數內容,判斷該次請求是否成功。第二個參數總共有四個狀態: - success:數據從服務器成功獲取到;
- error:因為服務器響應了錯誤碼。導致數據無法獲取到;
- notmodified:數據從緩存中獲取到;
- timeout:因為超時,數據無法獲取到。
二、get和post方法:
//訪問json數據
$.get('./data.json',{
user:'張三',
pass:'123456'
},function(data,status,xhr){
console.log(data);
console.log(status);
console.log(xhr);
});
//訪問xml數據
$.get('./data.xml',{
user:'張三',
pass:'123456'
},function(data,status,xhr){
console.log(data);
console.log(status);
console.log(xhr);
});
get():發送get請求的方法。
get方法直接綁定在jQuery函數中,由$直接調用。
get()方法中的參數:
- 參數一:必選,請求的接口地址(不能添加傳遞的參數);
- 參數二:可選,接口所需的參數,對象類型;
- 參數三:可選,回調函數,只有在請求成功時才會觸發;
回調函數中的三個參數:
1、請求下來的數據(json/xml),參數會根據請求接口類型轉化數據,json轉為object類型,xml自動轉為DOM類型。
2、請求狀態(success)。
3、發送當前get請求的請求對象。 - 參數四:可選,要求請求的接口返回該參數指定的數據類型(xml/json/script/text);如果該接口有能力返回指定格式的數據,則返回,如果沒能力,則請求失敗,不觸發回調函數。
post()方法參數情況和get一致,返回數據也和get一致。
三、ajax方法:
ajax()使用方法:
$.ajax({
method:"get",
url:"./data.json",
data:"user=zs&passwod=123",
success:function(data){
console.log(data);
},
error:function(err){
console.log(err);
},
async:true
});
ajax()函數是jQuery中所有和ajax請求相關方法的底層方法,該方法內部封裝的是原生ajax請求。
該方法的參數是對象類型。
- URL:接口字符串。
- data:接口參數字符串。
- method:請求方法字符串。
- success:當請求成功時執行的回調函數,該函數參數存放請求結果。
- error:當請求失敗時執行的回調函數,該函數的參數存放ajax請求對象,可以通過該對象下的status、readyState屬性值判斷失敗的原因。
使用jQuery中的ajax()方法實現跨域:
$.ajax({
method:"get",
url:"http://10.0.156.213/data.php",
data:'cb=?',
dataType:'jsonp',
jsonp:'cb',
success:function(data){
console.log(data);
}
});
參數:
- url:要請求的跨域接口
- method:請求方法,ajax請求跨域接口用的是jsonp實現的,所以該值一定是get(可省)。
- data:請求的跨域接口參數,入股該接口不需要傳參,則該屬性和jsonp屬性二選一即可;該屬性值中包含一個回調函數字段,key是服務器指定的回調函數key,value是“?”
- dataType:告訴ajax方法,發送的請求是jsonp請求,而不是ajax請求,必須指定該屬性值為“jsonp”
- jsonp:值是服務器指定的回調函數的key值(可以和data二選一存在)
- success:請求成功回調函數。
四、getJSON方法:
用法:
$.getJSON('http://10.0.156.213/data.php?cb=?',function(data){
console.log(data);
})
getJSON()發送get請求,接受json數據
第一個參數:接口url(如果接口需要參數,則參數拼接在接口之后)。
第二個參數:回調函數,當請求成功時,觸發回調函數,函數的第一個形參保存的是請求到的數據。