国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

jQuery - AJAX get() 和 post() 方法

HTTP 請(qǐng)求:GET vs. POST

兩種在客戶端和伺服器端進(jìn)行請(qǐng)求-回應(yīng)的常用方法是:GET 和 POST。

GET?- 從指定的資源請(qǐng)求資料POST?- 向指定的資源提交要處理的資料

GET 基本上用於從伺服器取得(取回)資料。註:GET 方法可能會(huì)傳回快取資料。

POST 也可用於從伺服器取得資料。不過,POST 方法不會(huì)快取數(shù)據(jù),而且常用於連同請(qǐng)求一起發(fā)送數(shù)據(jù)。


Get和Post的差異

##Get方式:用get方式可傳送簡(jiǎn)單數(shù)據(jù),但大小一般限制在1KB下,數(shù)據(jù)追加到url中發(fā)送(http的header傳送),也就是說,瀏覽器將各個(gè)表單字段元素及其數(shù)據(jù)按照URL參數(shù)的格式附加在請(qǐng)求行中的資源路徑後面。另外最重要的一點(diǎn)是,它會(huì)被客戶端的瀏覽器快取起來,那麼,別人就可以從瀏覽器的歷史記錄中,讀取到此客戶的數(shù)據(jù),例如帳號(hào)和密碼等。因此,在某些情況下,get方法會(huì)帶來嚴(yán)重的安全性問題。

Post方式:

當(dāng)使用POST方式時(shí),瀏覽器會(huì)把各表單欄位元素及其資料當(dāng)作HTTP訊息的實(shí)體內(nèi)容傳送給Web伺服器,而不是作為URL位址的參數(shù)傳遞,使用POST方式傳遞的資料量要比使用GET方式傳送的資料量大的多。

總之,GET方式傳送資料量小,處理效率高,安全性低,會(huì)被緩存,而POST反之。


$.get() 方法

$.get() 方法透過 HTTP GET 請(qǐng)求從伺服器上請(qǐng)求資料。

語(yǔ)法:

$.get(URL,callback);

必要的?URL參數(shù)規(guī)定您希望請(qǐng)求的URL。

可選的?callback?參數(shù)是請(qǐng)求成功後執(zhí)行的函數(shù)名稱。

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>php中文網(wǎng)(php.cn)</title>
<script src="http://libs.baidu.com/jquery/1.10.2/jquery.min.js"></script>
<script>
    $(document).ready(function(){
        $("button").click(function(){
            $.get("/try/ajax/demo_test.php",function(data,status){   //需要引入demo_test.php文件
                alert("數(shù)據(jù): " + data + "\n狀態(tài): " + status);
            });
        });
    });
</script>
</head>
<body>
  <button>發(fā)送一個(gè)GET 請(qǐng)求并獲取返回結(jié)果</button>
</body>
</html>

$.get() 的第一個(gè)參數(shù)是我們希望請(qǐng)求的 URL("demo_test.php")。

第二個(gè)參數(shù)是回呼函數(shù)。第一個(gè)回呼參數(shù)存有被請(qǐng)求頁(yè)面的內(nèi)容,第二個(gè)回呼參數(shù)存有請(qǐng)求的狀態(tài)。

這個(gè)PHP 檔案("demo_test.php") 類似這樣:

<?php
   echo "這是個(gè)從PHP文件中讀取的數(shù)據(jù)";
?>


$.post() 方法

$.post() 方法透過HTTP POST 請(qǐng)求從伺服器上請(qǐng)求資料。

語(yǔ)法:

$.post(URL,data,callback);

必需的?URL?參數(shù)規(guī)定您希望請(qǐng)求的URL。

可選的?data?參數(shù)規(guī)定連同請(qǐng)求發(fā)送的資料。

可選的?callback?參數(shù)是請(qǐng)求成功後執(zhí)行的函數(shù)名稱。

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>php中文網(wǎng)(php.cn)</title>
<script src="http://libs.baidu.com/jquery/1.10.2/jquery.min.js"></script>
<script>
    $(document).ready(function(){
        $("button").click(function(){
            $.post("/try/ajax/demo_test_post.php",{
            name:"php中文網(wǎng)",
            url:"http://www.miracleart.cn"
            },
            function(data,status){
            alert("數(shù)據(jù): \n" + data + "\n狀態(tài): " + status);
            });
        });
    });
</script>
</head>
<body>
   <button>發(fā)送一個(gè) HTTP POST 請(qǐng)求頁(yè)面并獲取返回內(nèi)容</button>
</body>
</html>

$.post() 的第一個(gè)參數(shù)是我們想要請(qǐng)求的 URL ("demo_test_post.php")。

然後我們連同請(qǐng)求(name 和 city)一起發(fā)送資料。

"demo_test_post.php" 中的 PHP 腳本讀取這些參數(shù),對(duì)它們進(jìn)行處理,然後傳回結(jié)果。

第三個(gè)參數(shù)是回呼函數(shù)。第一個(gè)回呼參數(shù)存有被請(qǐng)求頁(yè)面的內(nèi)容,而第二個(gè)參數(shù)存有請(qǐng)求的狀態(tài)。

這個(gè)PHP 檔案("demo_test_post.php") 類似這樣:

<?php
    $name = isset($_POST['name']) ? htmlspecialchars($_POST['name']) : '';
    $city = isset($_POST['url']) ? htmlspecialchars($_POST['url']) : '';
    echo '網(wǎng)站名: ' . $name;
    echo "\n";
    echo 'URL 地址: ' .$city;
?>


一個(gè)完整的$.post()實(shí)例:

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>php中文網(wǎng)(php.cn)</title>
    <script src="http://libs.baidu.com/jquery/1.10.2/jquery.min.js"></script>
    <script type="text/javascript">
        function checkname(){
            if($('#name').val() == ""){
                $('#msg').html("please enter the name!");
                $('#name').focus;
                return false;
            }
            if($('#address').val() == ""){
                $('#msg').html("please enter the address!");
                $('#address').focus;
                return false;
            }
            ajax_post();
        }
        function ajax_post(){
            $.post("text.php",{name:$('#name').val(),address:$('#address').val()},
                    function(data){
                        //$('#msg').html("please enter the name!");
                        //alert(data);
                        $('#msg').html(data);
                    },
                    "text");
        }
    </script>
</head>
<body>
    <form id="ajaxform" name="ajaxform" method="post" action="text.php">
        <p>
            name<input type="text" name="name" id="name"/>
        </p>
        <p>
            address<input type="text" name="address" id="address"/>
        </p>
        <p id="msg"></p>
        <p>
            <input name="Submit" type="button" value="submit" onclick="return checkname()"/>
        </p>
    </form>
</body>
</html>

建立一個(gè)text.php的檔案:

<?php
    $name = $_POST["name"];
    $address = $_POST["address"];
    echo $name."<br>";
    echo $address."<br>";
    echo "success";
?>


#
繼續(xù)學(xué)習(xí)
||
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>php中文網(wǎng)(php.cn)</title> <script src="http://libs.baidu.com/jquery/1.10.2/jquery.min.js"></script> <script type="text/javascript"> function checkname(){ if($('#name').val() == ""){ $('#msg').html("please enter the name!"); $('#name').focus; return false; } if($('#address').val() == ""){ $('#msg').html("please enter the address!"); $('#address').focus; return false; } ajax_post(); } function ajax_post(){ $.post("text.php",{name:$('#name').val(),address:$('#address').val()}, function(data){ //$('#msg').html("please enter the name!"); //alert(data); $('#msg').html(data); }, "text"); } </script> </head> <body> <form id="ajaxform" name="ajaxform" method="post" action="text.php"> <p> name<input type="text" name="name" id="name"/> </p> <p> address<input type="text" name="address" id="address"/> </p> <p id="msg"></p> <p> <input name="Submit" type="button" value="submit" onclick="return checkname()"/> </p> </form> </body> </html>
提交重置程式碼