web实验五

一、实验目标

通过本次实验理解AJAX的原理,掌握jQuery AJAX的应用。支撑专业核心能力的培养。

二、实验要求

1. 理解和掌握jQuery AJAX的get方式请求

2. 理解和掌握jQuery AJAX的post方式提交

三、实验内容

jQuery AJAX get方式与服务器交付

jQuery AJAX post方式与服务器交付

四、主要仪器设备

硬件:PC电脑

软件:Visual Studio Code/WebStorm/HBuilder

五、考核方式及要求

提交实验报告、源代码

六、实验内容和步骤

1、修改实验3代码,制作同步注册功能

(1) 将实验3的main.html复制成main_sync.html,参考《实验5_Web接口文档》1.2节,为对应的表单控件添加name属性(同步提交时,控件的name值与服务器收到的参数名一一对应);将注册按钮类型改为submit;再添加一个form标记将所有表单控件包围,action和method参考《实验5_Web接口文档》1.1节,参考代码(需要添加和修改的地方用红色标示):

<form action="http://43.136.217.18:8081/registSync" method="post">

<div>用户名</div><div><input type="text" name="name"></div>

<div>手机号</div><div><input type="tel" name="phone"></div>

<div>密码</div><div><input type="psassword" name="psassword"></div>

<div>确认密码</div><div><input type="psassword"></div>

<div><input type="submit" value="注册"></div>

</form>

2、修改实验3代码,制作异步(AJAX)注册功能

(1) 将实验3的main.html复制成main_async.html,参考《实验5_Web接口文档》2.2节中的参数名,提取用户名、手机号和密码框中的值并构造成参数对象,对象属性和参数名一一对应,参考代码:

//提取参数

var paras = { name: "用户名文本框的值", phone: "手机号文本框的值", password: "密码框的值"};

$.ajax({

url: "http://43.136.217.18:8081/registAsync",

data: paras,

type: "POST",

datatype="json",

//访问成功,解析json

success: function(data){

//如果操作成功

if(data.State == "SUC"){

……       //跳转到success.html

}

else{

……       //显示出错信息

}

},

//访问失败

error: function(data){

…..        //显示“无法连接到服务器”

}

})

注意:

① 修改浏览器URL即可完成跳转,如:window.location.href="新页面URL";

② 将success.html和error.html拷贝到main_async.html同一个目录中;

③ 上述错误信息显示到实验3的数据验证失败信息框中。

④ 要求使用jQuery代码编写

3、(选做)部署Tomcat服务器运行网页

(1)参考文档《Tomcat网站部署》部署服务器程序,将main_sync.html、main_async.html、success.html和error.html也部署到网站中。

(2)网页中使用的所有地址要采用相对地址,将地址的域名部分去掉,如:

将http://43.136.217.18:8081/registAsync改为registAsync

同步代码

<html lang="en">

    <meta charset="UTF-8">

    <meta http-equiv="X-UA-Compatible" content="IE=edge">

    <meta name="viewport" content="width=device-width, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no">

    <head>

        <script type="text/javascript">

            function setRootFontSize(){

            var rootHtml = document.documentElement;

            var rem = rootHtml.clientWidth / (1080 / 100);   //1080为设计图px宽度

            rootHtml.style.fontSize = rem + "px";

            }

            setRootFontSize();   //网页首次载入时执行一次

            window.addEventListener("resize", setRootFontSize, false);   //网页大小改变时执行

            window.addEventListener("orientationchange", setRootFontSize, false);   //横屏切换时执行

        </script>

           

        <title>实验二</title>

        <link rel="stylesheet" href="demo02.css">

    </head>

    <body>

    <form action="http://43.136.217.18:8081/registSync" method="post">

        <div id="header">

            <div class="header_left"></div><!---->

            <div class="header_right"></div>

            <div class="header_center">用户注册</div>

        </div>

        <div id="content">

            <div class="content_left">用户名</div>

            <div class="content_body"><input type="text" placeholder="请输入用户名" id="name" name="name"></div>

        </div>

        <div id="content2">

            <div class="content2_left">手机号</div>

            <div class="content2_right">

                <input id="post" type="button" value="发送验证码">

                <input id="receive" type="number" placeholder="请输入验证码" style="display: none;" >

            </div>

            <div class="content2_body"><input type="tel" placeholder="请输入手机号" id="phone" name="phone"></div>

        </div>

        <div id="content_password">

            <div class="password_left">密码</div>

            <div class="password_right"><input type="password" id="password" name="password"></div>

        </div>

        <div id="content_ensure">

            <div class="ensure_left">确认密码</div>

            <div class="ensure_right"><input type="password" id="ensure_password"></div>

        </div>

        <div id="errorArea" style="display: none;">异常显示区域</div>

        <div class="button"><input type="submit" value="注册" id="regist"></div>

    </form>

        <div id="content_select">

            <div class="select_left"><input type="button" value="已有账号"></div>

            <div class="select_right"><input type="button" value="更换手机号"></div>

        </div>

        <div id="bottom">

            <div class="bottom_left">

                <img src="img/main_home2.png" class="picture">

                <p>首页</p>

            </div>

            <div class="bottom_right">

                <p>设置</p>

            </div>

        </div>

    </body>

</html>

异步代码

<html lang="en">

    <meta charset="UTF-8">

    <meta http-equiv="X-UA-Compatible" content="IE=edge">

    <meta name="viewport" content="width=device-width, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no">

    <head>

        <script src="js/jquery-3.1.1.min.js"></script>

        <script type="text/javascript">

            function setRootFontSize(){

            var rootHtml = document.documentElement;

            var rem = rootHtml.clientWidth / (1080 / 100);   //1080为设计图px宽度

            rootHtml.style.fontSize = rem + "px";

            }

            setRootFontSize();   //网页首次载入时执行一次

            window.addEventListener("resize", setRootFontSize, false);   //网页大小改变时执行

            window.addEventListener("orientationchange", setRootFontSize, false);   //横屏切换时执行

            $().ready(function(){

                $("#regist").click(function(){

                    var errmassage="";

                    if($("#name").val()==""){

                        errmassage="请输入用户名";

                    }

                    else if($("#phone").val()==""){

                        errmassage="请输入手机号";

                    }

                    else if($("#password").val()==""){

                        errmassage="请输入密码";

                    }

                    if(errmassage!=""){

                        $("#errorArea").text(errmassage);

                    }

                    else{

                        var paras={name:$("#name").val(),phone:$("#phone").val(),password:$("#password").val()}

                        $.ajax({

                            url:"http://43.136.217.18:8081/registAsync",

                            data:paras,

                            type:"POST",

                            datatype:"json",

                            success:function(data){

                                if(data.state=="SUC"){

                                    window.location.href="http://43.136.217.18:8081/success.html";

                                }

                                else{

                                    var msg=data.msg;

                                    $("#errorArea").html(msg)

                                }

                            },

                            error:function(data){

                                window.location.href="http://43.136.217.18:8081/error.html";

                            }

                        })

                    }

                })

            })

        </script>

           

        <title>实验二</title>

        <link rel="stylesheet" href="demo02.css">

    </head>

    <body>

        <div id="header">

            <div class="header_left"></div><!---->

            <div class="header_right"></div>

            <div class="header_center">用户注册</div>

        </div>

        <div id="content">

            <div class="content_left">用户名</div>

            <div class="content_body"><input type="text" placeholder="请输入用户名" id="name"></div>

        </div>

        <div id="content2">

            <div class="content2_left">手机号</div>

            <div class="content2_right">

                <input id="post" type="button" value="发送验证码">

                <input id="receive" type="number" placeholder="请输入验证码" style="display: none;" >

            </div>

            <div class="content2_body"><input type="tel" placeholder="请输入手机号" id="phone" ></div>

        </div>

        <div id="content_password">

            <div class="password_left">密码</div>

            <div class="password_right"><input type="password" id="password"></div>

        </div>

        <div id="content_ensure">

            <div class="ensure_left">确认密码</div>

            <div class="ensure_right"><input type="password" id="ensure_password"></div>

        </div>

        <div id="errorArea"></div>

        <div class="button"><input type="submit" value="注册" id="regist"></div>

        <div id="content_select">

            <div class="select_left"><input type="button" value="已有账号"></div>

            <div class="select_right"><input type="button" value="更换手机号"></div>

        </div>

        <div id="bottom">

            <div class="bottom_left">

                <img src="img/main_home2.png" class="picture">

                <p>首页</p>

            </div>

            <div class="bottom_right">

                <p>设置</p>

            </div>

        </div>

    </body>

</html>

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值