博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【Java框架型项目从入门到装逼】第六节 - 用ajax请求后台数据
阅读量:5170 次
发布时间:2019-06-13

本文共 2915 字,大约阅读时间需要 9 分钟。

这一节我们来说一下如何用ajax提交请求?

我们先不讲ajax的原理,还是先以实战为主,看一下这个东西到底怎么用的?

form表单:

${errMsg}
用户名:
密码:

修改提交方法:

function doLogin(type){            if(type == 'QQ'){                alert('您选择的是QQ登录');            }                        if(type == 'weixin'){                alert('您选择的是微信登录');            }                        $("#loginType").val(type);                        //$("#login_btn").click();                        //如果验证通过,就开始进行提交             if(sumbitTest()){                 $.ajax({                     type: "GET",                     url: "login.do",                     data: {username:$("#username").val(), password:$("#password").val()},                     dataType: "json", //预期服务器返回的数据                     success: function(data){                                if(data.errCode < 0){                                    $("#errMsg").show().html(data.errMsg).stop(true,true).fadeOut(3000);                                }else{                                    //登录成功,做其他处理                                    alert("恭喜你,登录成功!")                                 }                                                              }                 });            }                                }                //验证登录信息         function sumbitTest(){                        return true;                        //在这个方法中可以对登录信息进行校验 (作业,用户名和密码都不能为空)             if(!$("#username").val()){                alert("用户名不能为空!");                return false;            }                        if(!$("#password").val()){                alert("密码不能为空!");                return false;             }                    }

ajax是异步操作,和同步操作的form表单提交不同。

例子一:同步就是打电话,对方不接就一直等。异步就是发微信,对方回不回我都可以去做别的事情。

例子二:同步就像玩RPG回合制游戏,比如口袋妖怪,你打我一下,我打你一下。异步就像玩红色警戒,我可以先派20辆天启坦克去轰炸对面的兵工厂,下完指令后还可以立刻回到主基地造一座雷达。

OK,刚才我们看到ajax提交有一个属性是text,这就表示返回的数据格式是文本。实际上,我们一般用的数据格式并非text,而是JSON。我们需要在Servlet中手动给我们的JSP页面返回一个json数据。

WebUtil.writeObject(resp, JSONObject.fromObject(resultData) );

其中,resultData是一个包含错误码和错误信息的专用类:

public class ResultData {        private int errCode = 0;    private String errMsg;        public int getErrCode() {        return errCode;    }    public void setErrCode(int errCode) {        this.errCode = errCode;    }    public String getErrMsg() {        return errMsg;    }    public void setErrMsg(String errMsg) {        this.errMsg = errMsg;    }}

因为最终转换的时候肯定默认调用resultData对象的toString方法,所以我们不妨直接重写ResultData类的toString方法,返回JSON格式。

转载于:https://www.cnblogs.com/skyblue-li/p/8251234.html

你可能感兴趣的文章
Java多线程和并发(一),进程与线程的区别
查看>>
使用xftp无法连接阿里云服务器 或者linux
查看>>
js高级(部分)
查看>>
【BZOJ4566】[Haoi2016]找相同字符 后缀数组+单调栈
查看>>
【BZOJ4200】[Noi2015]小园丁与老司机 DP+最小流
查看>>
【BZOJ2959】长跑 LCT+并查集
查看>>
python之MD5加密
查看>>
Elasticsearch-sql 用SQL查询Elasticsearch
查看>>
HTML超连接(a标记)
查看>>
servlet学习笔记_2
查看>>
cf(415 A,B)
查看>>
linux压缩和解压缩命令大全
查看>>
Sublime text 3 注册码激活码 版本号3143
查看>>
通过wifi无法连接手机调试
查看>>
HD 2177(威佐夫博弈 入门)
查看>>
挑战多重部分和问题
查看>>
前端开发 —— js 常用工具函数(utilities)
查看>>
中英文对照 —— 数学定律定理(公式及其描述)
查看>>
韩国"被申遗" (转自果壳)
查看>>
C# CSV 导出
查看>>