Ajax淺談

如何創建一個Ajax
(1)創建XMLHttpRequest對象,也就是創建一個異步調用對象
(2)創建一個新的HTTP請求,並指定該HTTP請求的方法、URL及驗證信息
(3)設置響應HTTP請求狀態變化的函數
(4)發送HTTP請求
(5)獲取異步調用返回的數據
(6)使用JavaScript和DOM實現局部刷新

同步和異步的區別:
同步:
瀏覽器訪問服務器請求,用戶看得到頁面刷新,重新發請求,等請求完,頁面刷新,新內容出現,用戶看到新內容,進行下一步操作
異步:
瀏覽器訪問服務器請求,用戶正常操作,瀏覽器後端進行請求。等請求完,頁面不刷新,新內容也會出現,用戶看到新內容

Ajax的優點和缺點:
Ajax的優點:
1、無刷新更新數據(在不刷新整個頁面的情況下維持與服務器通信)
2、異步與服務器通信(使用異步的方式與服務器通信,不打斷用戶的操作)
3、前端和後端負載均衡(將一些後端的工作交給前端,減少服務器與寬帶的負擔)
4、界面和應用相分離(Ajax將界面和應用分離也就是數據與呈現相分離)
Ajax的缺點:
1、Ajax不支持瀏覽器back按鈕
2、安全問題:Ajax暴露了與服務器交互的細節
3、對搜索引擎的支持比較弱
4、破壞了Back與HIstory後退按鈕的正常行爲等瀏覽器機制

get和post的區別
1、get和post在HTTP中都代表着請求數據,其中get請求相對來說更簡單、快速,效率高些
2、get相對post安全性低
3、get有緩存,post沒有
4、get體積小,post可以無限大
5、get的url參數可見,post的不可見
6、get只接受ASCII字符的參數數據類型,post沒有限制
7、get請求參數會保留歷史記錄,post中參數不會保留
8、get會被瀏覽器主動catch,post不會,需要手動設置
9、get在瀏覽器回退時無害,post會再次提交請求

什麼時候使用post?
post一般用於修改服務器上的資源,對所發送的信息沒有限制。比如
1、無法使用緩存文件(更新服務器上的文件或數據庫)
2、向服務器發送大量數據(POST沒有數據量限制)
3、發送包含未知字符的用戶輸入時,POST比GET更穩定也更可靠

如何解決跨域問題:
跨域的概念:協議、域名、端口都相同才同域,否則都是跨域
如何解決跨域問題:
1、使用JSONP(json+padding)把數據內填充起來
2、CORS方式(跨域資源共享),在後端上配置可跨域
3、服務器代理,通過服務器的文件能訪問第三方資源

什麼是Ajax和JSON,它們的優點和缺點
Ajax:
Ajax是異步JavaScript和XML,用於在Web頁面中實現異步數據交互
Ajax優點:
異步請求響應快,用戶體驗好;頁面無刷新、數據局部更新;按需取數據,減少了冗餘請求和服務器的負擔;
Ajax的缺點:
異步回調問題、this指向問題、路由跳轉back問題;對搜索引擎的支持比較弱,對於一些手機還不是很好的支持
JSON:
是一種輕量級的數據交換格式,看着像對象,本質是字符串
JSON優點:
輕量級、易於人的閱讀和編寫,便於js解析,支持複合數據類型
JSON缺點:
沒有XML格式這麼推廣的深入人心和使用廣泛,沒有XML那麼通用性

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章