常用方法
$()傳入一個函數,會執行它(功能代碼塊)//$(function(){xxxxxx})
$(document).ready(function(){//文檔加載完畢的回調函數})
$.noConflict()//var jq=$.noConflict()//避免衝突,更改調用名字
$.parseJSON()//$.parseJSON(‘{“name”:”karen”}’)//把嚴格模式的json字符串轉爲對象
$.makeArray()//將類數組(數組的有些方法不能使用比如push)對象轉化爲真正的數組(這時候才能使用數組的一些方法)//常見的類數組:jq對象,NodeList對象,arguments對象//注意點:類數組中的length值決定了轉換後數組的長度:$.makeArray({0:”karen”,1:”46”,length:1})
getter,setter方法
1.jq設計中同一個方法,既可以當getter又可以當setter,如果傳入新值(key-value)就是走的setter,如果只是傳入key值,沒有指定新值,則走getter方法返回當前值
2.調用setter時不僅會設置value值,調用結束後還會返回當前jq對象(鏈式調用)
3.調用setter時,有的方法可以接受對象參數和函數參數:對象(每一個屬性都指定一個鍵值對),函數(調用該函數來設置值,函數內部的this指向當前元素,第一個參數爲當前元素的索引,第二個參數爲當前元素對應的查找值,返回值爲設置的新value值)
調用getter時,只會查詢元素集中的第一個元素,getter不會返回調用自己的jq對象:因此注意鏈式調用時,中間不能有getter,只能放在末尾
一,ajax綜合方法
$.ajax(options)
$.ajax() 只有一個參數:配置對象,返回值爲原生的XMLHttpRequest對象
例:
$.ajax({
url:'http://xxxx',
data:'count=25&maxid=2937193',
type:'GET',
success:function(data){},
error:function(){}
})
選項:(所有選項都是可選的)
----type:String//請求方式,默認get
----url:String//請求的地址
----async:Boolean//(默認: true) 默認設置下,所有請求均爲異步請求。如果發送同步請求,設置爲 false。注意,同步請求將鎖住瀏覽器,用戶其它操作必須等待請求完成纔可以執行。
----dataType:String//預期服務器返回的數據類型。如果不指定,jQuery 將自動根據 HTTP 包 MIME 信息返回 responseXML 或 responseText,並作爲回調函數參數傳遞,可用值:
"xml": 返回 XML 文檔
"html": 返回純文本 HTML 信息;包含 script 元素。
"script": 返回純文本 JavaScript 代碼。不會自動緩存結果。除非設置了"cache"參數
"json": 返回 JSON 數據。
如果你指定了dataType 選項,請確保服務器返回正確的MIME 信息,(如 html 返回 "text/html")。錯誤的 MIME 類型可能導致不可預知的錯誤
如果dataType設置爲"script",那麼所有的遠程(不在同一域名下)的POST請求都將轉化爲GET請求。(因爲將使用DOM的script標籤來加載)
----cache:Boolean//(默認: true,dataType爲script時默認爲false),設置爲 false 將不會從瀏覽器緩存中加載請求信息。
----contentType:String//(默認:"application/x-www-form-urlencoded") 發送信息至服務器時內容編碼類型。默認值適合大多數應用場合。
----data:String//發送的參數:"count=25&maxid=29448"。可以填對象,但是屬性值如果爲數組,jQuery 將自動爲不同值對應同一個名稱。如:{karen:["46","singer"]} 轉換爲'&karen=46&karen=singer'
----error:function//請求失敗時的回調
function (XMLHttpRequest, textStatus, errorThrown) {
//參數:XMLHttpRequest 對象、錯誤狀態、捕獲的錯誤對象
// 通常 textStatus 和 errorThrown 之中只有一個會包含信息
//this指向$.ajax(options)的options參數對象
}
----timeout:times//超時時間,單位毫秒.如果設置該選項,當請求沒有在指定時內完成,請求會取消並觸發error回調,回調狀態碼爲'timeout',默認爲0:請求完成之前永不取消
//function(data,)
----success:function//請求成功的回調,三個參數:第一個響應的數據(服務器響應的是什麼類型的數據,這裏就是對應的類型:比如響應json那這裏就是json格式的數據,響應script這裏就是加載的js文本). 第二個jq狀態碼,一般都是"success". 第三個發送請求的XMLHttpRequest對象,如果是js的請求(dataType:’script’),第三個參數是沒有值得二,抽象出來的單一方法
----load() 方法通過AJAX 請求從服務器加載數據,並把返回的數據放置到指定的元素中
$(element).load(url,data,function(response,status,xhr))
url:地址
data:可選,發送的參數。
function(response,status,xhr)
可選,請求完成時的回調
response:結果數據
status:請求的狀態("success","error", "timeout" 或 "parsererror")
xhr:XMLHttpRequest對象
例:
$("#btn1").click(function(){
$("div1").load('test.txt')
})
-----$.get(url,data,callback(response,status,xhr))//如果需要請求出錯時的回調函數,請使用 $.ajax方法
url 必需。
data(可選)發送到服務器的參數
success(response,status,xhr)
可選。請求成功的回調函數
response 結果數據
status 請求的狀態
xhr XMLHttpRequest 對象
例:
$.get('http://xxx',function(data){console.log(data)})
----$.getJSON(url,callback(data,status,xhr))//如果需要請求出錯時的回調函數,請使用 $.ajax方法
url 必需。地址//注意jsonp的請求:http://xxxxx?name=kraren&callback=?問號就填爲問號,隨機幫我們取名字,然後數據幫我們封裝到回調函數的data裏
callback(data,status,xhr)
可選。成功的回調函數
data結果數據
status請求的狀態
----$.post(url,data,callback(data, textStatus,jqXHR),dataType)
//如果需要請求出錯時的回調函數,請使用$.ajax方法
url 必需,請求地址
data//(可選)待發送 Key/value 參數
success(data, textStatus, jqXMLHttpRequest)//(可選)請求成功時執行的回調函數。(回調函數的參數就不講了)
dataType//(可選)規定預期的服務器響應的數據類型。默認執行智能判斷(xml、json、script 或 html)