国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > AJAX > 正文

ajax簡介_動力節點Java學院整理

2024-09-01 08:27:10
字體:
來源:轉載
供稿:網友

AJAX不是JavaScript的規范,它只是一個哥們“發明”的縮寫:Asynchronous JavaScript and XML,意思就是用JavaScript執行異步網絡請求。

如果仔細觀察一個Form的提交,你就會發現,一旦用戶點擊“Submit”按鈕,表單開始提交,瀏覽器就會刷新頁面,然后在新頁面里告訴你操作是成功了還是失敗了。如果不幸由于網絡太慢或者其他原因,就會得到一個404頁面。

這就是Web的運作原理:一次HTTP請求對應一個頁面。

如果要讓用戶留在當前頁面中,同時發出新的HTTP請求,就必須用JavaScript發送這個新請求,接收到數據后,再用JavaScript更新頁面,這樣一來,用戶就感覺自己仍然停留在當前頁面,但是數據卻可以不斷地更新。

最早大規模使用AJAX的就是Gmail,Gmail的頁面在首次加載后,剩下的所有數據都依賴于AJAX來更新。

用JavaScript寫一個完整的AJAX代碼并不復雜,但是需要注意:AJAX請求是異步執行的,也就是說,要通過回調函數獲得響應。
在現代瀏覽器上寫AJAX主要依靠XMLHttpRequest對象:

function success(text) { var textarea = document.getElementById('test-response-text'); textarea.value = text;}function fail(code) { var textarea = document.getElementById('test-response-text'); textarea.value = 'Error code: ' + code;}var request = new XMLHttpRequest(); // 新建XMLHttpRequest對象request.onreadystatechange = function () { // 狀態發生變化時,函數被回調 if (request.readyState === 4) { // 成功完成  // 判斷響應結果:  if (request.status === 200) {   // 成功,通過responseText拿到響應的文本:   return success(request.responseText);  } else {   // 失敗,根據響應碼判斷失敗原因:   return fail(request.status);  } } else {  // HTTP請求還在繼續... }}// 發送請求:request.open('GET', '/api/categories');request.send();alert('請求已發送,請等待響應...');

對于低版本的IE,需要換一個ActiveXObject對象:

function success(text) { var textarea = document.getElementById('test-ie-response-text'); textarea.value = text;}function fail(code) { var textarea = document.getElementById('test-ie-response-text'); textarea.value = 'Error code: ' + code;}var request = new ActiveXObject('Microsoft.XMLHTTP'); // 新建Microsoft.XMLHTTP對象request.onreadystatechange = function () { // 狀態發生變化時,函數被回調 if (request.readyState === 4) { // 成功完成  // 判斷響應結果:  if (request.status === 200) {   // 成功,通過responseText拿到響應的文本:   return success(request.responseText);  } else {   // 失敗,根據響應碼判斷失敗原因:   return fail(request.status);  } } else {  // HTTP請求還在繼續... }}// 發送請求:request.open('GET', '/api/categories');request.send();alert('請求已發送,請等待響應...');            
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 柞水县| 鄢陵县| 东兰县| 古田县| 成武县| 潼南县| 密云县| 基隆市| 普宁市| 湖口县| 宝兴县| 东海县| 车险| 滨海县| 鲁山县| 米泉市| 陆良县| 仙桃市| 嫩江县| 临江市| 陕西省| 洪泽县| 清远市| 海南省| 自贡市| 土默特右旗| 汶川县| 平塘县| 广河县| 永清县| 昭通市| 凤山县| 东辽县| 滦南县| 谢通门县| 九龙县| 手机| 普陀区| 九寨沟县| 扎鲁特旗| 德保县|