php中ajax的使用實例講解

1、總結php

一、多複習:代碼都挺簡單的,就是須要複習,要多看html

二、ajax原理:ajax就是部分更新頁面,其實還在的html頁面監聽到事件後,而後傳給服務器進行操做,這裏用的是get方式來傳值到服務器,ajax

三、ajax和全頁面更新的區別:ajax和全頁面更新的區別是全頁面更新返回的是整個頁面,而ajax只返回的是修改部分的數據, 並且主要是經過window對象的XMLHttpRequest對象來實現的算法

四、實現ajax的步驟:實現ajax服務器端就是返回部分數據,頁面端就是新建對象而後執行這個對象的幾個函數,a、建立對象 b、onreadystatechange c、open d、send數組

2、ajax和php瀏覽器

AJAX 被用於建立交互性更強的應用程序。服務器

ajax php實例函數

ajax.gif

實例解釋HTML頁面:ui

當用戶在上面的輸入框中鍵入字符時,會執行 "showHint()" 函數。該函數由 "onkeyup" 事件觸發:this

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

<html>

<head>

<script>

function showHint(str)

{

    if (str.length==0)

    {

        document.getElementById("txtHint").innerHTML="";

        return;

    }

    if (window.XMLHttpRequest)

    {

        // IE7+, Firefox, Chrome, Opera, Safari 瀏覽器執行的代碼

        xmlhttp=new XMLHttpRequest();

    }

    else

    {   

        //IE6, IE5 瀏覽器執行的代碼

        xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");

    }

    xmlhttp.onreadystatechange=function()

    {

        if (xmlhttp.readyState==4 && xmlhttp.status==200)

        {

            document.getElementById("txtHint").innerHTML=xmlhttp.responseText;

        }

    }

    xmlhttp.open("GET","gethint.php?q="+str,true);

    xmlhttp.send();

}

</script>

</head>

<body>

 

<p><b>在輸入框中輸入一個姓名:</b></p>

<form>

姓名: <input type="text" onkeyup="showHint(this.value)">

</form>

<p>返回值: <span id="txtHint"></span></p>

 

</body>

</html>

源代碼解釋:

若是輸入框是空的(str.length==0),該函數會清空 txtHint 佔位符的內容,並退出該函數。

若是輸入框不是空的,那麼 showHint() 會執行如下步驟:

一、建立 XMLHttpRequest 對象

二、建立在服務器響應就緒時執行的函數

三、向服務器上的文件發送請求

四、請注意添加到 URL 末端的參數(q)(包含輸入框的內容)

注意點

一、標籤文本域置空:第8行,標籤文本域置空

二、添加函數:第21行,給新建的XMLHttpRequest對象添加函數,這個函數就是接受從服務器那裏傳來的數據,

三、服務器接受的ajax返回數據:第25行,responseText多是XMLHttpRequest對象的屬性

四、get傳值:第28行,get方式傳值,?後面接參數,=號鏈接鍵和值

五、onkeyup事件:第37行,onkeyup 事件會在鍵盤按鍵被鬆開時發生。

六、標籤js傳參中的this的應用:第37行,標籤中的this對象指的就是標籤自己

php文件

 

上面這段經過 JavaScript 調用的服務器頁面是名爲 "gethint.php" 的 PHP 文件。

"gethint.php" 中的源代碼會檢查姓名數組,而後向瀏覽器返回對應的姓名:

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

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

<?php

// 將姓名填充到數組中

$a[]="Anna";

$a[]="Brittany";

$a[]="Cinderella";

$a[]="Diana";

$a[]="Eva";

$a[]="Fiona";

$a[]="Gunda";

$a[]="Hege";

$a[]="Inga";

$a[]="Johanna";

$a[]="Kitty";

$a[]="Linda";

$a[]="Nina";

$a[]="Ophelia";

$a[]="Petunia";

$a[]="Amanda";

$a[]="Raquel";

$a[]="Cindy";

$a[]="Doris";

$a[]="Eve";

$a[]="Evita";

$a[]="Sunniva";

$a[]="Tove";

$a[]="Unni";

$a[]="Violet";

$a[]="Liza";

$a[]="Elizabeth";

$a[]="Ellen";

$a[]="Wenche";

$a[]="Vicky";

 

//從請求URL地址中獲取 q 參數

$q=$_GET["q"];

 

//查找是否由匹配值, 若是 q>0

if (strlen($q) > 0)

{

    $hint="";

    for($i=0; $i<count($a); $i++)

    {

        if (strtolower($q)==strtolower(substr($a[$i],0,strlen($q))))

        {

            if ($hint=="")//是不是第一個

            {

                $hint=$a[$i];

            }

            else

            {

                $hint=$hint." , ".$a[$i];

            }

        }

    }

}

 

// 若是沒有匹配值設置輸出爲 "no suggestion"

if ($hint == "")

{

    $response="no suggestion";

}

else

{

    $response=$hint;

}

 

//輸出返回值

echo $response;

?>

解釋:若是 JavaScript 發送了任何文本(即 strlen($q) > 0),則會發生:

查找匹配 JavaScript 發送的字符的姓名若是未找到匹配,則將響應字符串設置爲 "no suggestion"若是找到一個或多個匹配姓名,則用全部姓名設置響應字符串把響應發送到 "txtHint" 佔位符

注意點

一、$_GET[]:第35行,超全局變量$_GET[]的使用

二、strlen():第38行,strlen函數的使用

三、數據鏈接:第43-52行,找因此前面包含傳入參數的數據

四、字符串鏈接:第51行,點變量用於字符鏈接

五、算法邏輯:整個算法邏輯就是,用從頁面傳入過來的參數找適合的東西返回到頁面去

 

「大理石T型槽平臺」大理石T型槽平臺的特性

相關文章
相關標籤/搜索