目錄
簡單的示例重新訪問
了解Ajax的基礎知識,並採用可重複使用的要求的方式,讓我們更深入地創建一些可以在現實生活中使用的東西。
結論
,而Ajax與JavaScript密切相關,它也可以與其他技術一起使用。例如,您可以將Ajax與流行的JavaScript庫JQuery一起使用,以簡化提出AJAX請求的過程。 AJAX也可以與PHP這樣的服務器端語言使用,以從數據庫中檢索數據。
>使用AJAX?
> ajax如何影響seo?
ajax可能會潛在地影響SEO,因為搜索引擎可能無法完全訪問和索引AJAX AJAX AJAX內容。但是,Google在爬行JavaScript方面取得了進步,並可以在某種程度上索引Ajax內容。為了確保您的Ajax內容對SEO友好,您可以使用諸如漸進式增強和優雅降解等技術。
>
首頁 web前端 js教程 用ajax命令

用ajax命令

Mar 06, 2025 am 01:03 AM

用ajax命令

您是否想構建更具動態,響應式的,類似台式的Web應用程序(例如Gmail和Google Map)?然後,這篇文章是給您的!它可以指導您了解Ajax基礎知識,並通過構建簡單的Ajax應用程序的過程。

該應用程序被命名為WebConsole,這是一個用於執行系統命令的瀏覽器接口,您通常需要shell訪問。也有使用兩個流行的JavaScript庫的AJAX功能的簡短示例-JQuery和Yui。 在2005年首次發布並最近更新的本文中,我將解釋一個簡單,可重複使用的JavaScript功能,用於製作HTTP請求。然後,我將將該功能應用於創建簡單的應用程序。

>

儘管有一些Yui和jQuery示例,但本文不是特定Ajax庫的教程。取而代之的是,它旨在為您提供有關提出HTTP請求的更多動手信息,以便在評估此類庫或決定獨自一人時處於更好的位置。

鑰匙要點

ajax允許通過處理瀏覽器中的HTTP請求來創建類似於Gmail和Google Maps的動態響應式Web應用程序。

>
    >教程引入了可重複使用的JavaScript函數,用於製作HTTP請求,該功能可以在各種應用程序中使用,而無需依賴於jQuery或Yui等特定庫。
  • 一個簡單的示例演示了製作http請求的基本步驟:創建xmlhttprequest對象,分配回調函數並發送請求。
  • >文章介紹了WebConsole應用程序,通過瀏覽器接口啟用服務器端命令執行,說明了實用的AJAX使用。
  • 強調了安全問題,強調了限制可執行命令和消毒輸入以防止未經授權的服務器訪問的重要性。
  • >
  • >教程涵蓋了高級主題,包括處理XML和JSON等不同的數據格式,以及將AJAX與流行的JavaScript庫集成以提高功能。
  • 一個簡單的http請求示例
  • >讓我們首先修改在JavaScript中提出HTTP請求的流程,並處理響應。這只是刷新您的內存的快速示例。有關所有辛辣的詳細信息,請參見Sitepoint的介紹性文章“ Ajax:與遠程腳本的可用互動”。
  • 有三個基本步驟:
創建一個xmlhttprequest對象。

>分配回調函數以處理HTTP響應。

>

> make(發送)請求。
>

    >讓我們來一個示例,在其中我們請求一個簡單的HTML文檔test.html,其中僅包含文本“我是測試”。然後,我們將提醒()test.html文件的內容:
  1. 這是這個示例的工作方式:


    1. 用戶單擊“製作請求”按鈕。
    2. >以參數:同一目錄中的HTML文件的名稱調用MakereQuest()函數。在這種情況下,它是test.html。
      發送請求。
    3. >
      > onreadyStateChange事件觸發,執行將傳遞給AlertContents()。
    4. > AlertContents()檢查是否已接收響應,如果可以的話,請werter()s test.html文件的內容。

    5. >親自測試示例,然後查看測試文件。

    6. 問題
    7. 上面的示例效果很好,但是在準備黃金時間之前,我們需要改進一件事。改進是編碼可重複使用的請求函數,該函數處理所有無聊和重複的對象創建和請求/響應內容,同時將呈現部分留給其他函數,這些函數是請求 - 敏銳的,並且僅處理結果,而不管其源源。

    在上面的示例中,我們需要一個全局變量,http_request,這是由makerequest()和alertcontents()函數都可以訪問的,這在可重複使用性方面不好,並且可能會命名碰撞。理想情況下,MakereQuest()應執行請求,並且AlertContents()應呈現結果;兩項功能都不需要知道或需要對方。
    這是我們可重複使用的請求函數的代碼:

    此函數接收三個參數:

    <button >Make a request</button> <br>
     <br>
    <script type="text/javascript"> <br>
     <br>
    var http_request = false; <br>
     <br>
    function makeRequest(url) { <br>
     <br>
       if (window.XMLHttpRequest) { // Mozilla, Safari, IE7... <br>
           http_request = new XMLHttpRequest(); <br>
       } else if (window.ActiveXObject) { // IE6 and older <br>
           http_request = new ActiveXObject("Microsoft.XMLHTTP"); <br>
       } <br>
       http_request.onreadystatechange = alertContents; <br>
       http_request.open('GET', url, true); <br>
       http_request.send(null); <br>
     <br>
    } <br>
     <br>
    function alertContents() { <br>
       if (http_request.readyState == 4) { <br>
           if (http_request.status == 200) { <br>
               alert(http_request.responseText); <br>
           } else { <br>
               alert('There was a problem with the request.'); <br>
           } <br>
       } <br>
    } <br>
     <br>
    document.getElementById('mybutton').onclick = function() { <br>
       makeRequest('test.html'); <br>
    } <br>
     <br>
    </script>
    登入後複製
    登入後複製
    登入後複製
    登入後複製
    登入後複製
    登入後複製
    登入後複製

    獲得

    的URL

    收到響應時要調用的功能

    >
      標誌如果回調函數期望XML文檔(true)或純文本(false,默認)>
    • 此功能依賴於兩個JavaScript功能,以便將請求對像很好地包裝和隔離。首先是可以即時定義新功能(稱為匿名函數)的能力,例如:
    • >
    • http_request.onreadystatechange = function(){...}
    • >
    另一個技巧是能夠在不預先知道其名稱的情況下調用回調功能。例如:



    請注意如何傳遞回調函數的名稱,而無需任何引號。

    >

    >您可以通過允許HTTP請求方法以及將作為參數傳遞給該功能的任何查詢字符串,然後在調用中使用以打開()和發送()方法來使該功能更加重複使用。這還將允許您除了獲得最初旨在執行的郵政請求。

    >該功能的另一個功能是處理200以外的響應代碼,如果您想更具體並根據返回的成功/錯誤代碼的類型採取適當的操作,則可以方便。
    簡單的示例重新訪問

    現在,讓我們重做上一個示例,其中test.html文件的內容被警報()ed。這次,通過採用我們閃亮的新可重用請求函數,所使用的兩個功能的修訂版將更加簡單:

    >
    <button >Make a request</button> <br>
     <br>
    <script type="text/javascript"> <br>
     <br>
    var http_request = false; <br>
     <br>
    function makeRequest(url) { <br>
     <br>
       if (window.XMLHttpRequest) { // Mozilla, Safari, IE7... <br>
           http_request = new XMLHttpRequest(); <br>
       } else if (window.ActiveXObject) { // IE6 and older <br>
           http_request = new ActiveXObject("Microsoft.XMLHTTP"); <br>
       } <br>
       http_request.onreadystatechange = alertContents; <br>
       http_request.open('GET', url, true); <br>
       http_request.send(null); <br>
     <br>
    } <br>
     <br>
    function alertContents() { <br>
       if (http_request.readyState == 4) { <br>
           if (http_request.status == 200) { <br>
               alert(http_request.responseText); <br>
           } else { <br>
               alert('There was a problem with the request.'); <br>
           } <br>
       } <br>
    } <br>
     <br>
    document.getElementById('mybutton').onclick = function() { <br>
       makeRequest('test.html'); <br>
    } <br>
     <br>
    </script>
    登入後複製
    登入後複製
    登入後複製
    登入後複製
    登入後複製
    登入後複製
    登入後複製
    如您所見,AlertContents()只是介紹:沒有任何狀態,ReadyStates或HTTP請求在任何地方飛來。

    >由於這些功能現在只是單線,因此實際上我們可以完全擺脫它們,然後更改功能調用。因此,整個示例將成為:

    是的,很容易!查看示例和完整源代碼(通過我們的老朋友查看源可用)。
    function makeHttpRequest(url, callback_function, return_xml) <br>
    { <br>
      var http_request, response, i; <br>
     <br>
      var activex_ids = [ <br>
        'MSXML2.XMLHTTP.3.0', <br>
        'MSXML2.XMLHTTP', <br>
        'Microsoft.XMLHTTP' <br>
      ]; <br>
     <br>
      if (window.XMLHttpRequest) { // Mozilla, Safari, IE7+... <br>
        http_request = new XMLHttpRequest(); <br>
        if (http_request.overrideMimeType) { <br>
          http_request.overrideMimeType('text/xml'); <br>
        } <br>
      } else if (window.ActiveXObject) { // IE6 and older <br>
        for (i = 0; i < activex_ids.length; i++) { <br>
          try { <br>
            http_request = new ActiveXObject(activex_ids[i]); <br>
          } catch (e) {} <br>
        } <br>
      } <br>
     <br>
      if (!http_request) { <br>
        alert('Unfortunately your browser doesn't support this feature.'); <br>
        return false; <br>
      } <br>
     <br>
      http_request.onreadystatechange = function() { <br>
        if (http_request.readyState !== 4) { <br>
            // not ready yet <br>
            return; <br>
        } <br>
        if (http_request.status !== 200) { <br>
          // ready, but not OK <br>
          alert('There was a problem with the request.(Code: ' + http_request.status + ')'); <br>
          return; <br>
        } <br>
        if (return_xml) { <br>
          response = http_request.responseXML; <br>
        } else { <br>
          response = http_request.responseText; <br>
        } <br>
        // invoke the callback <br>
        callback_function(response); <br>
      }; <br>
     <br>
      http_request.open('GET', url, true); <br>
      http_request.send(null); <br>
    }
    登入後複製
    登入後複製
    登入後複製
    登入後複製
    登入後複製
    登入後複製
    >

    我們的項目:WebConsole應用程序

    了解Ajax的基礎知識,並採用可重複使用的要求的方式,讓我們更深入地創建一些可以在現實生活中使用的東西。

    我們將創建的應用程序允許您在Web服務器上執行任何Shell命令,無論是基於Windows還是Linux。我們甚至會付出一些CSS的努力,以使應用程序更像是控制台窗口。 在接口方面,我們有一個可滾動的

    ,其中包含到目前為止執行的命令的結果,一個在其中鍵入要執行的命令。他們都有黑色背景和灰色快遞字體。這是一個屏幕截圖。

    html 用ajax命令

    這是應用程序的HTML部分: 就是這樣:通過執行命令的結果以及我們可以輸入命令的

    進行更新的
    。這是一個不錯的,乾淨的界面,沒有

以上是用ajax命令的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Java教學
1655
14
CakePHP 教程
1413
52
Laravel 教程
1306
25
PHP教程
1252
29
C# 教程
1226
24
前端熱敏紙小票打印遇到亂碼問題怎麼辦? 前端熱敏紙小票打印遇到亂碼問題怎麼辦? Apr 04, 2025 pm 02:42 PM

前端熱敏紙小票打印的常見問題與解決方案在前端開發中,小票打印是一個常見的需求。然而,很多開發者在實...

神秘的JavaScript:它的作用以及為什麼重要 神秘的JavaScript:它的作用以及為什麼重要 Apr 09, 2025 am 12:07 AM

JavaScript是現代Web開發的基石,它的主要功能包括事件驅動編程、動態內容生成和異步編程。 1)事件驅動編程允許網頁根據用戶操作動態變化。 2)動態內容生成使得頁面內容可以根據條件調整。 3)異步編程確保用戶界面不被阻塞。 JavaScript廣泛應用於網頁交互、單頁面應用和服務器端開發,極大地提升了用戶體驗和跨平台開發的靈活性。

誰得到更多的Python或JavaScript? 誰得到更多的Python或JavaScript? Apr 04, 2025 am 12:09 AM

Python和JavaScript開發者的薪資沒有絕對的高低,具體取決於技能和行業需求。 1.Python在數據科學和機器學習領域可能薪資更高。 2.JavaScript在前端和全棧開發中需求大,薪資也可觀。 3.影響因素包括經驗、地理位置、公司規模和特定技能。

如何實現視差滾動和元素動畫效果,像資生堂官網那樣?
或者:
怎樣才能像資生堂官網一樣,實現頁面滾動伴隨的動畫效果? 如何實現視差滾動和元素動畫效果,像資生堂官網那樣? 或者: 怎樣才能像資生堂官網一樣,實現頁面滾動伴隨的動畫效果? Apr 04, 2025 pm 05:36 PM

實現視差滾動和元素動畫效果的探討本文將探討如何實現類似資生堂官網(https://www.shiseido.co.jp/sb/wonderland/)中�...

JavaScript的演變:當前的趨勢和未來前景 JavaScript的演變:當前的趨勢和未來前景 Apr 10, 2025 am 09:33 AM

JavaScript的最新趨勢包括TypeScript的崛起、現代框架和庫的流行以及WebAssembly的應用。未來前景涵蓋更強大的類型系統、服務器端JavaScript的發展、人工智能和機器學習的擴展以及物聯網和邊緣計算的潛力。

如何使用JavaScript將具有相同ID的數組元素合併到一個對像中? 如何使用JavaScript將具有相同ID的數組元素合併到一個對像中? Apr 04, 2025 pm 05:09 PM

如何在JavaScript中將具有相同ID的數組元素合併到一個對像中?在處理數據時,我們常常會遇到需要將具有相同ID�...

JavaScript引擎:比較實施 JavaScript引擎:比較實施 Apr 13, 2025 am 12:05 AM

不同JavaScript引擎在解析和執行JavaScript代碼時,效果會有所不同,因為每個引擎的實現原理和優化策略各有差異。 1.詞法分析:將源碼轉換為詞法單元。 2.語法分析:生成抽象語法樹。 3.優化和編譯:通過JIT編譯器生成機器碼。 4.執行:運行機器碼。 V8引擎通過即時編譯和隱藏類優化,SpiderMonkey使用類型推斷系統,導致在相同代碼上的性能表現不同。

前端開發中如何實現類似 VSCode 的面板拖拽調整功能? 前端開發中如何實現類似 VSCode 的面板拖拽調整功能? Apr 04, 2025 pm 02:06 PM

探索前端中類似VSCode的面板拖拽調整功能的實現在前端開發中,如何實現類似於VSCode...

See all articles