日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

ajax get请求_JSP中的对讲机Ajax简述

發布時間:2024/4/19 javascript 52 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ajax get请求_JSP中的对讲机Ajax简述 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

點擊藍字

關注我們

傳統上,網頁需要重新加載才能更新內容。對于基于網絡的電子郵件來說,這意味著用戶必須手動重新加載他們的收件箱,以檢查和查看他們是否有新郵件。這有很大的缺點:速度慢,而且需要用戶輸入。當用戶重新加載他們的收件箱時,服務器必須重新構建整個網頁,并重新發送所有的HTML、CSS、JavaScript以及用戶的電子郵件。這是非常低效的。理想情況下,服務器應該只需要發送用戶的新郵件,而不是整個頁面。到了2003年,所有的主流瀏覽器都解決了這個問題,采用了XMLHttpRequest(XHR)對象,允許瀏覽器與服務器進行通信,而不需要重新加載頁面。

XMLHttpRequest對象是一種叫做Ajax(異步JavaScript和XML)的技術的一部分。使用Ajax,數據就可以通過XMLHttpRequest API在瀏覽器和服務器之間傳遞,而不需要重新加載網頁。隨著XMLHttpRequest對象的廣泛采用,很快就可以構建像Google Maps和Gmail這樣的Web應用程序,使用XMLHttpRequest來獲取新的地圖磁貼或新的電子郵件,而無需重新加載整個頁面。

Ajax請求是由JavaScript代碼觸發的;你的代碼向一個URL發送一個請求,當它收到響應時,可以觸發一個回調函數來處理響應。因為請求是異步的,所以當請求被處理時,你的其他代碼會繼續執行,所以必須使用回調來處理響應。

不幸的是,不同的瀏覽器對Ajax API的實現方式不同。通常情況下,這意味著開發人員必須考慮到所有不同的瀏覽器,以確保Ajax能夠普遍工作。幸運的是,jQuery提供了Ajax支持,它抽象地消除了痛苦的瀏覽器差異。它既提供了功能齊全的$.ajax()方法,也提供了簡單方便的方法,如$.get()、$.getScript()、$.getJSON()、$.post()和$().load()。

盡管名為 "Ajax",但大多數jQuery應用程序實際上并不使用XML;相反,它們以純HTML或JSON(JavaScript對象符號)的形式傳輸數據。

一般來說,Ajax不能跨域工作。例如,一個從example1.com加載的網頁無法向example2.com發出Ajax請求,因為這將違反相同的來源策略。作為一種解決方法,JSONP(帶填充的JSON)使用標簽從另一個域加載包含任意JavaScript內容和JSON的文件。最近,瀏覽器已經實現了一種叫做跨源資源共享(CORS)的技術,它允許向不同域的Ajax請求。

關鍵概念

正確使用Ajax相關的jQuery方法,需要先了解一些關鍵概念。

GET vs. POST

向服務器發送請求的兩種最常見的 "方法 "是GET和POST。了解每種方法的正確應用是很重要的。

GET方法應該用于非破壞性操作--也就是說,你只是從服務器上 "獲取 "數據,而不是改變服務器上的數據的操作。例如,對搜索服務的查詢可能是一個GET請求。GET請求可能會被瀏覽器緩存,這可能會導致不可預知的行為,如果你沒有想到的話。GET請求一般會在一個查詢字符串中發送所有數據。

POST方法應該用于破壞性操作--也就是在服務器上改變數據的操作。例如,用戶保存一篇博客文章應該是一個POST請求。POST請求一般不會被瀏覽器緩存;查詢字符串可以是URL的一部分,但數據往往會作為post數據單獨發送。

數據類型

jQuery通常需要一些指令來說明你期望從Ajax請求中得到的數據類型;在某些情況下,數據類型是由方法名指定的,而在其他情況下,它是作為配置對象的一部分提供的。有幾個選項。

text用于傳輸簡單的字符串。

html用于傳輸要放在頁面上的HTML塊。

script用于添加一個新的腳本到頁面。

json用于傳輸JSON格式的數據,可以包括字符串、數組和對象。

注意:從jQuery 1.4開始,如果你的服務器發送的JSON數據沒有正確的格式化,請求可能會無聲地失敗。參見http://json.org,了解正確格式化JSON的細節,但作為一般規則,使用內置的語言方法在服務器上生成JSON以避免語法問題。

jsonp用于從另一個域傳輸JSON數據。

xml用于在自定義XML模式中傳輸數據。

在大多數情況下考慮使用JSON格式,因為它提供了最大的靈活性。它對于同時發送HTML和數據特別有用。

異步Ajax的異步性讓很多jQuery新用戶措手不及。因為Ajax調用默認是異步的,所以響應不是立即可用。響應只能使用回調來處理。所以,舉例來說,下面的代碼將無法工作。

var response; $.get( "foo.php", function( r ) { ? ?response = r;}); console.log( response ); // undefined

相反,我們需要向我們的請求傳遞一個回調函數;這個回調將在請求成功時運行,此時我們可以訪問它返回的數據(如果有的話)。

$.get( "foo.php", function( response ) { ? ?console.log( response ); // server response});

同源策略和JSONP。在一般情況下,Ajax請求被限制在相同的協議(http或https),相同的端口,和相同的域名作為頁面的請求。這個限制不適用于通過jQuery的Ajax方法加載的腳本。

注意:Internet Explorer小于10的版本不支持跨域AJAX請求。

另一個例外是針對另一個域的JSONP服務的請求。在JSONP的情況下,服務的提供者已經同意用一個腳本來響應你的請求,這個腳本可以使用標簽加載到頁面中,從而避免了同源的限制;這個腳本將包括你所請求的數據,并包裹在你提供的回調函數中。

Ajax和FirebugFirebug(或 Chrome 或 Safari 中的 Webkit Inspector)是處理 Ajax 請求的重要工具。您可以在 Firebug 的 Console 選項卡(以及 Webkit Inspector 的 Resources > XHR 面板)中查看 Ajax 請求的發生情況,您還可以單擊請求以展開請求并查看請求頭、響應頭、響應內容等詳細信息。如果某個 Ajax 請求沒有按照預期進行,那么首先要查找的就是該請求的問題所在。

球分享

球點贊

球在看

與50位技術專家面對面20年技術見證,附贈技術全景圖

總結

以上是生活随笔為你收集整理的ajax get请求_JSP中的对讲机Ajax简述的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。