亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

Web前端-Ajax基礎(chǔ)技術(shù)(下)

趙連江 / 1131人閱讀

摘要:前端基礎(chǔ)技術(shù)下你要明白是什么,怎么使用,程序是將信息放入公共的服務(wù)器,讓所有網(wǎng)絡(luò)用戶可以通過瀏覽器進(jìn)行訪問。獲取字符串形式的響應(yīng)數(shù)據(jù),獲取形式的響應(yīng)數(shù)據(jù)?;A(chǔ)回顧原理是借助標(biāo)簽發(fā)送跨域請(qǐng)求的技巧。

Web前端-Ajax基礎(chǔ)技術(shù)(下)

你要明白ajax是什么,怎么使用?

ajax,web程序是將信息放入公共的服務(wù)器,讓所有網(wǎng)絡(luò)用戶可以通過瀏覽器進(jìn)行訪問。

瀏覽器發(fā)送請(qǐng)求,獲取服務(wù)器的數(shù)據(jù):

地址欄輸入地址,表單提交,特定的hrefsrc屬性。

// 封裝
function ajax(method, url, params) {

var xhr = new XMLHttpRequest();
xhr.open(method, url);
 
xhr.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
params = params || null;
xhr.send(params);
xhr.onreadystatechange=function(){
 if(this.readyState != 4) return
 console.log(this.responseText);
} 

}

ajax("GET", "time.php", "key=value");

function ajax(method, url, params) {

var xhr = new XMLHttpRequest();
if(method === "GET"){
 url += "?" + params;
}
xhr.open(method, url);

var data = null;
if(method === "POST") {
xhr.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
data = params
}

xhr.send(data);
xhr.onreadystatechange=function(){
 if(this.readyState != 4) return
 console.log(this.responseText);
} 

}
// 傳對(duì)象
function ajax(method, url, params) {

var xhr = new XMLHttpRequest();
if(typeof params === "object"){
 var tempArr = [];
 for(var key in params){
  var value = params[key];
  tempArr.push(key + "=" + value);
 } 
 params = tempArr.join("&");
}

if(method === "GET"){
 url += "?" + params;
}
xhr.open(method, url);

var data = null;
if(method === "POST") {
xhr.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
data = params
}

xhr.send(data);
xhr.onreadystatechange=function(){
 if(this.readyState != 4) return
 console.log(this.responseText);
} 

}
function ajax(method, url, params, done) {
method = method.toUpperCase();
var xhr = new XMLHttpRequest();
if(typeof params === "object"){
 var tempArr = [];
 for(var key in params){
  var value = params[key];
  tempArr.push(key + "=" + value);
 } 
 params = tempArr.join("&");
} 

if(method === "GET"){
 url += "?" + params;
}
xhr.open(method, url, false);

var data = null;
if(method === "POST") {
xhr.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
data = params
}

xhr.onreadystatechange=function(){
 if(this.readyState != 4) return
 // console.log(this.responseText);
 done(this.responseText);
} 
 
xhr.send(data);
}

var ondone = function(res) {
 console.log(res);
}

回調(diào):

jquery中的ajax

https://www.jquery123.com/category/ajax/
function ajax(method, url, params, done) {
// 統(tǒng)一轉(zhuǎn)換大寫
 method = method.toUpperCase();
// urlencoded
 var pairs = [];
 for(var key in params) {
  pairs.push(key+"="+params[key]);
 }
 var querystring = pairs.join("&");
 var xhr = window.XMLHttpRequest?new XMLHttpRequest() : new ActiveXObject("Microsoft.XMLHTTP");

xhr.addEventListener("readystatechange",function(){
 
}
}



$.ajax({
 url: "time.php",
 type: "post",
 data: { id: 1, name: "張三" },
 success: function(res) {
  console.log(res);
 }
})
$.ajax({
 url: "json.php",
 type: "get",
 dataType: "json",
 success: function(res) {
  console.log(res)
 }
})

ajax回調(diào)事件:




 
 


 
 




 
 


 
 


.ajaxComplete()
當(dāng)ajax請(qǐng)求完成后注冊(cè)一個(gè)回調(diào)函數(shù)
.ajaxError()
ajax請(qǐng)求出錯(cuò)
.ajaxSend()
ajax請(qǐng)求發(fā)送之前綁定一個(gè)要執(zhí)行的函數(shù)
.ajaxStart()
在ajax請(qǐng)求剛開始時(shí)執(zhí)行一個(gè)處理函數(shù)
.ajaxStop()
在ajax請(qǐng)求完成時(shí)執(zhí)行一個(gè)處理函數(shù)
.ajaxSuccess()
綁定一個(gè)函數(shù)當(dāng)ajax請(qǐng)求成功完成時(shí)執(zhí)行
jQuery.ajax()
執(zhí)行一個(gè)異步的http(ajax)請(qǐng)求
jQuery.ajaxPerfilter()
在每個(gè)請(qǐng)求之前被發(fā)送和$.ajax()處理它們前處理
jQuery.ajaxSetup()
為以后要用到的ajax請(qǐng)求設(shè)置默認(rèn)的值
jQuery.ajaxTransport()
創(chuàng)建一個(gè)對(duì)象
jQuery.get()
使用一個(gè)http get請(qǐng)求從服務(wù)器加載數(shù)據(jù)
jQuery.getJSON()
jQuery.getScript()
GET請(qǐng)求從服務(wù)器加載并執(zhí)行一個(gè) JavaScript 文件
jQuery.post() 請(qǐng)求從服務(wù)器加載數(shù)據(jù)

跨域:
同源,域名,協(xié)議,端口,完全相同,同源的相互通過ajax的方式進(jìn)行請(qǐng)求。
不同源地址之間,不能相互發(fā)送ajax請(qǐng)求。

$.get("http://", function(res) {
 console.log(res);
})


 
 AJAX基礎(chǔ)回顧


 

$.get("http://...", function(res){
 console.log(res);
})



var link = document.createElement("link");
link.rel = "stylesheet";
link.href = "http//...";
document.body.appendChild(link);

var script = document.createElement("script");
script.src = "http://...";
document.body.appendChild(script);

jsonp原理:
json是借助script標(biāo)簽發(fā)送跨域請(qǐng)求的技巧。
原理是在客戶端借助script標(biāo)簽請(qǐng)求服務(wù)端的一個(gè)動(dòng)態(tài)網(wǎng)頁(yè),服務(wù)端的這個(gè)動(dòng)態(tài)網(wǎng)頁(yè)返回一段帶有函數(shù)調(diào)用的javascript全局函數(shù)調(diào)用的腳本,將原本需要返回給客戶端的數(shù)據(jù)傳遞進(jìn)去。

$.ajax({
 url: "http://...",
 dataType: "json",
 success: function(res) {
  console.log(res);
 }
})

結(jié)言

好了,歡迎在留言區(qū)留言,與大家分享你的經(jīng)驗(yàn)和心得。

感謝你學(xué)習(xí)今天的內(nèi)容,如果你覺得這篇文章對(duì)你有幫助的話,也歡迎把它分享給更多的朋友,感謝。

作者簡(jiǎn)介

達(dá)叔,理工男,簡(jiǎn)書作者&全棧工程師,感性理性兼?zhèn)涞膶懽髡?,個(gè)人獨(dú)立開發(fā)者,我相信你也可以!閱讀他的文章,會(huì)上癮!,幫你成為更好的自己。長(zhǎng)按下方二維碼可關(guān)注,歡迎分享,置頂尤佳。

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/1099.html

相關(guān)文章

  • 前端相關(guān)大雜燴

    摘要:希望幫助更多的前端愛好者學(xué)習(xí)。前端開發(fā)者指南作者科迪林黎,由前端大師傾情贊助。翻譯最佳實(shí)踐譯者張捷滬江前端開發(fā)工程師當(dāng)你問起有關(guān)與時(shí),老司機(jī)們首先就會(huì)告訴你其實(shí)是個(gè)沒有網(wǎng)絡(luò)請(qǐng)求功能的庫(kù)。 前端基礎(chǔ)面試題(JS部分) 前端基礎(chǔ)面試題(JS部分) 學(xué)習(xí) React.js 比你想象的要簡(jiǎn)單 原文地址:Learning React.js is easier than you think 原文作...

    fuyi501 評(píng)論0 收藏0
  • Web前端-Ajax基礎(chǔ)技術(shù)(上)

    摘要:前端基礎(chǔ)技術(shù)上是瀏覽器提供一套的用于向服務(wù)器發(fā)出請(qǐng)求,接受服務(wù)端返回的響應(yīng),通過調(diào)用,實(shí)現(xiàn)通過代碼控制請(qǐng)求與響應(yīng),實(shí)現(xiàn)網(wǎng)絡(luò)編程。事件的狀態(tài)信息,從到變化,為請(qǐng)求未初始化,為建立連接成功,為請(qǐng)求已接收,為請(qǐng)求處理中,為請(qǐng)求完成。。 Web前端-Ajax基礎(chǔ)技術(shù)(上) ajax是瀏覽器提供一套的api,用于向服務(wù)器發(fā)出請(qǐng)求,接受服務(wù)端返回的響應(yīng),通過javascript調(diào)用,實(shí)現(xiàn)通過代碼控制...

    booster 評(píng)論0 收藏0
  • 前端2018現(xiàn)在上車還還得及么

    摘要:面向?qū)ο笕筇卣骼^承性多態(tài)性封裝性接口。第五階段封裝一個(gè)屬于自己的框架框架封裝基礎(chǔ)事件流冒泡捕獲事件對(duì)象事件框架選擇框架。核心模塊和對(duì)象全局對(duì)象,,,事件驅(qū)動(dòng),事件發(fā)射器加密解密,路徑操作,序列化和反序列化文件流操作服務(wù)端與客戶端。 第一階段: HTML+CSS:HTML進(jìn)階、CSS進(jìn)階、div+css布局、HTML+css整站開發(fā)、 JavaScript基礎(chǔ):Js基礎(chǔ)教程、js內(nèi)置對(duì)...

    stormgens 評(píng)論0 收藏0
  • 前端2018現(xiàn)在上車還還得及么

    摘要:面向?qū)ο笕筇卣骼^承性多態(tài)性封裝性接口。第五階段封裝一個(gè)屬于自己的框架框架封裝基礎(chǔ)事件流冒泡捕獲事件對(duì)象事件框架選擇框架。核心模塊和對(duì)象全局對(duì)象,,,事件驅(qū)動(dòng),事件發(fā)射器加密解密,路徑操作,序列化和反序列化文件流操作服務(wù)端與客戶端。 第一階段: HTML+CSS:HTML進(jìn)階、CSS進(jìn)階、div+css布局、HTML+css整站開發(fā)、 JavaScript基礎(chǔ):Js基礎(chǔ)教程、js內(nèi)置對(duì)...

    mylxsw 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

趙連江

|高級(jí)講師

TA的文章

閱讀更多
最新活動(dòng)
閱讀需要支付1元查看
<