更新時(shí)間:2021-07-01 16:24:47 來源:動(dòng)力節(jié)點(diǎn) 瀏覽1441次
請求方式:在我印象中,請求的方式就兩種,也是我們常用的那兩種就是GET PSOT:在我們進(jìn)行后臺數(shù)據(jù)請求的時(shí)候;我們用的方式就是GET,當(dāng)我們要把要將前端的一些參數(shù),傳給自己的后臺人員的時(shí)候用的更多的就是POST方式了;他們的區(qū)別具體有哪些呢;自己是首先進(jìn)行了一些總結(jié),并且在網(wǎng)上搬了"磚";使用GET請求的時(shí)候,我們發(fā)請求的時(shí)候,參數(shù)在URL中顯示,POST的方式,是不會顯示的,這也導(dǎo)致了,在使用GET的時(shí)候,請求發(fā)送的數(shù)據(jù)量比較小,一般大小在1KB左右;這些數(shù)據(jù)會在客服端的瀏覽器中緩存起來,別人在你的瀏覽記錄張便可以得到相應(yīng)的數(shù)據(jù);也可以說保密性還是比較差的;相反;POST就不會了;在使用POST的時(shí)候,瀏覽器把各個(gè)表單字段元素及其數(shù)據(jù)作為HTTP消息的實(shí)習(xí)內(nèi)容發(fā)給Web服務(wù)器,而不是作為URL參數(shù);另外還有put和delete方式;這兩種方式也可以用但是只有部分瀏覽器支持
請求超時(shí)用到屬性;(當(dāng)時(shí),單一提了一下這個(gè)屬性);當(dāng)網(wǎng)絡(luò)不佳的時(shí)候,或者后臺運(yùn)行運(yùn)行比較慢的時(shí)候;如果服務(wù)器超過設(shè)置的時(shí)間的話,就會進(jìn)入error的回調(diào)函數(shù);關(guān)于timeout的一些事項(xiàng);當(dāng)時(shí)timeout:0;這就代表永不超時(shí);如果你把超時(shí)時(shí)間寫的比較大的情況下,這樣也就會導(dǎo)致數(shù)據(jù)的加載變慢;
下面的代碼詳細(xì)的講解說明了ajaxSetup函數(shù);
//設(shè)置AJAX的全局默認(rèn)選項(xiàng)
$.ajaxSetup( { url: "/index.html" , // 默認(rèn)URL aysnc: false , // 默認(rèn)同步加載 type: "POST" , // 默認(rèn)使用POST方式 headers: { // 默認(rèn)添加請求頭 "Author": "CodePlayer" , "Powered-By": "CodePlayer" } , error: function(jqXHR, textStatus, errorMsg){ // 出錯(cuò)時(shí)默認(rèn)的處理函數(shù) // jqXHR 是經(jīng)過jQuery封裝的XMLHttpRequest對象 // textStatus 可能為: null、"timeout"、"error"、"abort"或"parsererror" // errorMsg 可能為: "Not Found"、"Internal Server Error"等 // 提示形如:發(fā)送AJAX請求到"/index.html"時(shí)出錯(cuò)[404]:Not Found alert( '發(fā)送AJAX請求到"' + this.url + '"時(shí)出錯(cuò)[' + jqXHR.status + ']:' + errorMsg ); } } );
未設(shè)置任何參數(shù),但url、async、type、headers、error等參數(shù)的默認(rèn)值均已被$.ajaxSetup()更改(如上)
$.ajax( )
設(shè)置了url、type、success、error,就使用自己設(shè)置的參數(shù)值
但async、headers等參數(shù)的默認(rèn)值已被$.ajaxSetup()更改
$.ajax( { url: "myurl.php?action=list" , type: "GET" , success: function( data, textStatus, jqXHR ){ alert("返回?cái)?shù)據(jù):" + data); } , error: function(jqXHR, textStatus, errorMsg){ alert("自己的error!"); } }); // 上述$.ajaxSetup()的默認(rèn)設(shè)置對$.get()、$.post()、load()、$.getJSON()、$.getScript()等AJAX函數(shù)也生效 // 因?yàn)檫@些函數(shù)也是在內(nèi)部調(diào)用$.ajax()函數(shù)來實(shí)現(xiàn)的,只不過它們在內(nèi)部都設(shè)置了一些參數(shù) // $.get()在內(nèi)部調(diào)用$.ajax()時(shí)已設(shè)置type為"GET",因此仍然使用GET方式。 // 但url、async、headers、error等參數(shù)的默認(rèn)值已被$.ajaxSetup()更改 $.get( ); // $.post()在內(nèi)部調(diào)用$.ajax()時(shí)已設(shè)置type為"POST",因此仍然使用POST方式。 // url也被設(shè)置為"user/action.php?method=addUser" // 但async、headers、error等參數(shù)的默認(rèn)值已被$.ajaxSetup()更改 $.post( "user/action.php?method=addUser" );
請求是否異步,默認(rèn)為true,所有請求均為異步請求,如果需要同步請求,就更改默認(rèn)值為false;同步請求的時(shí)候,瀏覽器會停止其他代碼的執(zhí)行;用戶的其他操作,也要等待這個(gè)請求結(jié)束才能開始執(zhí)行;
要求為Object或String類型的參數(shù),發(fā)送到服務(wù)器的數(shù)據(jù)。如果已經(jīng)不是字符串,將自動(dòng)轉(zhuǎn)換為字符串格式。get請求中將附加在url后。防止這種自動(dòng)轉(zhuǎn)換,可以查看processData(防止自動(dòng)轉(zhuǎn)換)選項(xiàng)。對象必須為key/value格式,例如{foo1:"bar1",foo2:"bar2"}轉(zhuǎn)換為&foo1=bar1&foo2=bar2。如果是數(shù)組,JQuery將自動(dòng)為不同值對應(yīng)同一個(gè)名稱。例如{foo:["bar1","bar2"]}轉(zhuǎn)換為&foo=bar1&foo=bar2。
xml:返回XML文檔,可用JQuery處理;html:返回純文本信息;包含的script的標(biāo)簽會插入DOM時(shí)執(zhí)行;script:返回純文本的javascript代碼,不會自動(dòng)緩存,除非設(shè)置了cache參數(shù).注意在遠(yuǎn)程請求的時(shí),所有post請求都將返回get請求;json:返回json;jsonp:JSONP格式;使用SON形式調(diào)用函數(shù)時(shí);例如myurl?callback=?,JQuery將自動(dòng)替換后一個(gè)?為正確的函數(shù)名,以執(zhí)行回調(diào)函數(shù);
請求成功后調(diào)用的回調(diào)函數(shù),有兩個(gè)參數(shù)。(1)由服務(wù)器返回,并根據(jù)dataType參數(shù)進(jìn)行處理后的數(shù)據(jù)。(2)描述狀態(tài)的字符串。function(data,textStatus){//data可能是xmlDoc、jsonObj、html、text等等this;//調(diào)用本次ajax請求時(shí)傳遞的options參數(shù)}
以上就是動(dòng)力節(jié)點(diǎn)小編介紹的"ajax參數(shù)介紹",希望對大家有幫助,想了解更多可查看AJAX教程,如有疑問,請?jiān)诰€咨詢,有專業(yè)老師隨時(shí)為您服務(wù)。

初級 202925

初級 203221

初級 202629

初級 203743