ajax 前后台數據傳輸 form表單提交


我們在實際的開發過程中必定是有前后台數據交互 而現在只有兩種數據傳輸的方法一個是ajax和form表單提交

前后台數據傳輸,是非常重要的,一個頁面沒有前后台數據交互的話那也只是一個靜態頁面而已

在此之前我們打開文件的方式都是雙擊通過file協議,本地打開 一個文件

file:///C:/Users/John/Desktop/ajax1/1.html 

像是這樣在本地打開的文件是沒有服務端所以我要使用xammp APP模擬一個服務端

這樣才可以更好的學習前后台的數據傳輸 xammp  集成了apache服務器,mysql數據庫,php服務端語言,集成的軟件

如何使用xammp 軟件

在安裝完成后

xammp服務存放的路徑:xammp安裝目錄中的htdocs文件夾,刪除里面所有的文件,這樣的話可以防止自己的文件被搞混淆。

在將自己想要打開的文件放入htdocs文件夾

然后下一步打開軟件

點擊Config按鈕 在點擊第一個Apache按鈕進入文本設置端口號

紅色的記號設置端口號盡量設置為3000以上的4位數這樣的話成功率高

怕有些端口被其他的軟件占用了導致失敗

都設置成功后點擊Starl按鈕生成環境成功

這里我設置的端口號是8888

接下使用端口號的進入方法來試試把

注意這里進入的網頁鏈接

http://ip地址:端口號/文件的路徑 這里我設置的端口號是8888

在看看我們在htdocs文件夾中放入自己的文件

注意這里瀏覽器只能識別html文件像上面CSS文件和js文件瀏覽器是識別不除來的

在搭建好了服務端環境后就可以學習接下來的前后台數據傳輸了

上面也說了有兩種方法

一種是Ajax Ajax也是現在主流的前后端數據交互的方法 當要局部刷新的時候,我們采用Ajax請求。

ajax的優點在於 

1. 通過異步模式,提升了用戶體驗

2. 優化了瀏覽器和服務器之間的傳輸,減少不必要的數據往返,減少了帶寬占用

3. Ajax引擎在客戶端運行,承擔了一部分本來由服務器承擔的工作,從而減少了大用戶量下的服務器負載。

<body>
    <h1>注冊賬號請輸入中文</h1>
    用戶名
    <input type="text" name="" id="input1">
    <span class="deom"></span> //提示信息
    <br>
    <button>檢查用戶名是否可用</button>
    <script src="https://cdn.bootcss.com/jquery/1.11.1/jquery.js"></script> //jq  CDN
    <script>
        $("button").on("click", function() { //通過單擊擊的方式
            $.ajax({ //啟動jq 的ajax的方法
                type: "GET", //這里是傳輸的方法
                url: "02.php", //這里是模仿服務端的后台文件地址
                data: {
                    input1: $("#input1").val() //
                },
                success: function(data) { //data封裝的xhr.responseText
                    console.log(data) //服務端返回的數據
                    if (data == 1) { //通過返回的數據來判斷並且做出相應的行為
                        $(".deom").html("用戶名已經存在").css({
                            color: "red"
                        })
                    } else {
                        $(".deom").html("用戶名可以使用").css({
                            color: "springgreen"
                        })
                    }
                },
                error: function(xhr) {
                    console.log(xhr.status)
                }
            })
        })
    </script>
</body>

 之前說過要模擬一個服務端出來所以這里使用PHP模仿

<?php
    // 定義一個數組,用來存儲用戶名,實際肯定是存在數據庫,從數據庫中去獲取
    $db = ['蔡徐坤','香蕉君','邪劍仙'];
    
    // 參數,根據接口文檔來進行定義的
    $uname = $_GET['input1']; 

    // 首先假設沒有
    $exists = false;

    // 循環判斷
    foreach($db as $n){ 
        if($n === $uname){
            $exists = true;
            break;
        }
    }
   
    if($exists){
        echo "1";   //1代表用戶名已經存在
    }else{
        echo "0";   //0代表用戶名可以使用
      
    }
    
?>

現在進入頁面操作一下

 

 

以上是AJax的前后端數據代嗎可以綁定失去焦點事件 

 

 

2.第二種form表單提交

<body>
    <h1>通過form表單的提交方式完成前后端通信</h1>
    <form action="02.php" method="GET"> //這里是GET提交方法
        <input type="text" name="userName" placeholder="請輸入用戶名">//后台通過name屬性來獲取前台的數據
        <br>
        <input type="text" name="userPwd" placeholder="請輸入密碼">
        <br>
        <input type="submit">
    </form>
</body>

 

使用form表單提交提交錯誤的話就整個頁面都會刷新 用戶填寫的信息都會消失所以不建議使用

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM