程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> PHP Ajax 入門HelloWorld

PHP Ajax 入門HelloWorld

編輯:關於PHP編程

       淺談Ajax

      Ajax 是 Asynchronous JavaScript and XML(以及 DHTML 等)的縮寫。

      它由 HTML+JS+DOM組成,本教程暫時不涉及DOM。

      同步的概念:頁面提交POST表單,是不是整個頁面都在等待服務器返回(呈空白狀態),然後刷新?沒錯,這就是同步。

      異步的概念:表單提交後,頁面的其它部分照常用。

      Ajax 就是 頁面和服務器之間的小三,作為一段JS代碼,它把頁面的提交信息截獲,然後處理後提交給服務器,然後監聽服務器返回信息,然後再回饋給頁面。

      要用它需要一個句柄:xmlHttp = new XMLHttpRequest();

      我們正是基於這個對象扮演小三這個角色。

      參照下注釋就能理解ajax流程:

      1.生成XMLHttpRequest對象

      2.建立要跳轉的URL

      3.打開服務器conn

      4,.設置服務器完成操作後要執行的函數

      5.send ajax

      6.結束後待執行函數要不斷監聽(機制不需要我們實現)

      哎,從聖馬家溝男子職業技術學院出來的我,沒啥文化,以上就是自己粗淺的理解。

      要看高大上的:掌握 Ajax,第 1 部分: Ajax 入門簡介

      實際操作

      在wamp/www/中新建一個testAjax文件夾,裡面兩個文件:index.html 和 getZipcode.php

      index.html

    ?

    1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 <title> Test ajax in <a href="http://www.2cto.com/kf/web/php/" target="_blank" class="keylink">PHP</a>... </title>       <script language="javascript" type="text/javascript"> //創建一個XMLHttpRequest句柄 var xmlHttp = false; if (!xmlHttp && typeof XMLHttpRequest != 'undefined') {   xmlHttp = new XMLHttpRequest(); }   function callServer(){     //截獲表單 get value     var city = document.getElementById("city").value;     if(city == null || city == "") return;     //建立URL,獲取郵政編碼     var url = "/testAjax/getZipcode.php?city="+escape(city);     //打開conn,true表示異步     xmlHttp.open("GET",url,true);     //設定完成代碼後執行的函數     xmlHttp.onreadystatechange = updatePage;     //發送Ajax,因為是GET方式,不需要附帶數據     xmlHttp.send(null); }   //這個方法監聽和處理響應 function updatePage(){     //什麼也不要做,直到 xmlHttp.readyState 屬性的值等於 4     if(xmlHttp.readyState == 4){         var response = xmlHttp.responseText;         document.getElementById("zipcode").value = response;     } }   </script>   <form>     <p>City: <input type="text" name="city" id="city" size="25" onchange="callServer();"></p>     <p>Zip Code: <input type="text" name="zipcode" id="zipcode" size="5"></p>       </form>

      getZipcode.php

    ?

    1 2 3 4 5 6 7 8 9 10 11 12 <!--?php     if(!isset($_GET["city"])){         echo "URL:city parameter is set?</br-->";     }else{         $city = $_GET["city"];         if($city != null && $city != ""){             echo $city."_010";         }else{             echo "city is null?";         }     } ?>

      實際結果:

    PHP Ajax 入門HelloWorld   三聯

      無論我的City輸入什麼,下面的郵政編碼,都會加一個“_010”,實時的。

      吐槽:zipcode是郵政編碼的意思(英語都是體育老師教的)。

    1. 上一頁:
    2. 下一頁:
    Copyright © 程式師世界 All Rights Reserved