ajax之POST传值,FormData()

//post.php 接收文件

<?php
    print_r($_POST);
?>

//post.html, JavaScript稍后补全

<!doctype html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>post</title>

    <script type="text/javascript">
    </script>

</head>
<body>
    <h1>ajax注册</h1>
    <div id="regres"></div>
    <form action="" method="post">  
        <p>用户名:<input type="text" name="username" /></p>
        <p>邮件地址:<input type="text" name="email" /></p>
        <p><input type="button" value="注册1" onclick="ajaxreg();"/></p>
        <p><input type="submit" value="注册2"/></p>       
    </form>
</body>
</html>

1、 POST传值

    <script type="text/javascript">
        function createXHR() {
            var xhr = new XMLHttpRequest();
            return xhr;
        }
        //button
        function ajaxreg(){
        //步骤1:收集表单的数据
            //步骤2:打开到后台服务器连接(POST连接)
            //步骤3:发送数据
            //步骤4:监听,回调等

            //1.制造XHR
            var xhr = createXHR();

            //2.打开POST连接
            xhr.open('POST','./post.php',true);

            //4.绑定
            xhr.onreadystatechange = function(){
                if(this.readyState == 4)
                    alert(this.responseText);
            }

            //3.收集表单数据
            var un= document.getElementsByName('username')[0].value;
            var em= document.getElementsByName('email')[0].value;

            //4.send
            xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded'); //POST 必须有这一句
            xhr.send("username="+un+"&email="+em);

            return false; //阻止页面跳转
        }
    </script>

2、 FormData()

    <script type="text/javascript">

        function createXHR() {
            var xhr = new XMLHttpRequest();
            return xhr;
        }
        //步骤1:收集表单的数据
            //步骤2:打开到后台服务器连接(POST连接)
            //步骤3:发送数据
            //步骤4:监听,回调等
        //submit
        window.onload = function(){

            //收集表单数据
            var fm = document.getElementsByTagName('form')[0];

            fm.onsubmit = function(evt) {

                //创建FormData()对象
                var fd = new FormData(fm);
                //制造xhr
                var xh = createXHR();
                //回调函数
                xh.onreadystatechange = function(){
                    if(this.readyState == 4)
                        alert(this.responseText);
                }
                //打开连接
                xh.open('POST','./post.php',true);

//用Formdata时不能设置setRequestHeader
//xh.setRequestHeader("Content-Type","application/x-www-form-urlencoded");

                //发送数据
                xh.send(fd);
                evt.preventDefault();//阻止页面跳转
            }
        }

    </script>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值