ajax中post与get请求注意事项

在使用ajax提交表单时,一定要区分提交按钮的形式和数据表头的设置,实例如下:

GET请求:

HTML代码:

<!doctype html>
<html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>原生ajax-状态值得含义</title>
        <script type="text/javascript">
            window.onload = function() {
                var btn = document.getElementById('btn');
                btn.onclick = function() {
                    var username = document.getElementById("username").value;
                    var password = document.getElementById('password').value;
                    //第一步:创建xhr对象
                    var xhr = null;
                    if(window.XMLHttpRequest) { //标准浏览器
                        xhr = new XMLHttpRequest();
                    } else { //早期的IE浏览器
                        xhr = new ActiveXObject('Microsoft.XMLHTTP');
                    }

                    //第二步:准备发送请求-配置发送请求的一些行为
                    //var url = '05open.php?username=' + encodeURIComponet(username) + '&password=' + password;
                  
                    var url = '05open.php?username='+username+'&password='+password;
                    xhr.open('get', url,true);
                    //第三步:执行发送的动作

                    var param = 'username=' + username + '&password=' + password;
                    xhr.send(null);
                    //第四步:指定一些回调函数
                    xhr.onreadystatechange = function() {
                        if(xhr.readyState == 4) {
                            if(xhr.status == 200) {
                                var data = xhr.responseText; //json
                                console.log(data);
                                // var data1 = xhr.responseXML;
                            }
                        }
                    }
                }
            }
        </script>
    </head>

    <body>
        <div>
            <div id="showInfo"></div>
            <form>
                用户名:<input type="text" name="username" id="username"><br> 密码:
                <input type="password" name="password" id="password"><br>
                <!--<input type="button" value="提交" id="btn">-->
                <input type="submit" value="提交" id="btn">
            </form>
        </div>
    </body>
</html>

php代码:

<?php 

$username = $_GET['username'];
$password = $_GET['password'];

// $username = $_POST['username'];
// $password = $_POST['password'];
// echo 1;

echo '用户名:'.$username.'密码:'.$password;

?>

提交按钮采用

<input type="submit" value="提交" id="btn">

提交后的结果是:

提交按钮采用

<input type="button" value="提交" id="btn">

提交后的结果是:

POST请求:

HTML代码:

<!doctype html>
<html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>原生ajax-状态值得含义</title>
        <script type="text/javascript">
            window.onload = function() {
                var btn = document.getElementById('btn');
                btn.onclick = function() {
                    var username = document.getElementById("username").value;
                    var password = document.getElementById('password').value;
                    //第一步:创建xhr对象
                    var xhr = null;
                    if(window.XMLHttpRequest) { //标准浏览器
                        xhr = new XMLHttpRequest();
                    } else { //早期的IE浏览器
                        xhr = new ActiveXObject('Microsoft.XMLHTTP');
                    }

                    //第二步:准备发送请求-配置发送请求的一些行为
                    //var url = '05open.php?username=' + encodeURIComponet(username) + '&password=' + password;
                  
                    //var url = '05open.php?username='+username+'&password='+password;
                    var url='05open.php';
                    xhr.open('post', url,true);
                    //第三步:执行发送的动作

                    var param = 'username=' + username + '&password=' + password;
                    xhr.send(param);
                    //第四步:指定一些回调函数
                    xhr.onreadystatechange = function() {
                        if(xhr.readyState == 4) {
                            if(xhr.status == 200) {
                                var data = xhr.responseText; //json
                                console.log(data);
                                // var data1 = xhr.responseXML;
                            }
                        }
                    }
                }
            }
        </script>
    </head>

    <body>
        <div>
            <div id="showInfo"></div>
            <form>
                用户名:<input type="text" name="username" id="username"><br> 密码:
                <input type="password" name="password" id="password"><br>
                <input type="button" value="提交" id="btn">
            </form>
        </div>
    </body>
</html>

php代码:

<?php 


//$username = $_GET['username'];
//$password = $_GET['password'];

$username = $_POST['username'];
$password = $_POST['password'];

echo '用户名:'.$username.'密码:'.$password;

?>

执行结果:

这是没有设置头文件的原因:

头文件设置如下:

 1 xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded'); 

设置后执行如下:

posted @ 2016-11-30 12:59  Koidt  阅读(151)  评论(0编辑  收藏  举报