今天在带头大哥的带领下,我已经掌握了如何使用$.ajax();
起初我是一名公司实习生,完全没有项目经验,于是上峰给安排了开发网站的初始页面、登录页面、注册页面。这都是小问题,只有一个地方,就是验证这个模块我是从来没有做过的。
首先,jquery自身也是有表单验证的模块的,而且这个验证validate模块也是非常强大的。但是,这个模块只是前端验证,没有通过服务器,也就是说我们可以用它在前端进行一些简单的逻辑验证,过滤掉一部分非人类所能达到的防止恶意注册。但是也会有黑客写脚本把你的服务器给恶意注册了,后端必须有一定的技术进行拦截。涉及到后端验证的地方就是使用ajax。当然ajax的使用并不是只有这点,著名的谷歌地图,就是需要你前端不断地通过ajax到服务器里面取数据,然后就是百度搜素,不断地从后台取数据,显示到前端。
首先,我们要在表单里填写验证码,验证码的产生需要Date()函数,产生一个变量,然后传到后端处理,类似于PHP,servelet等处理。与时间相关能保证验证码的可靠性。因此你的电脑最后将时间与internet时间联网,获得通用的时间线。这点我要吐槽CSDN的验证码,坑了我好多回。后端处理后返回一个img图片,但是如果直接返回图片的话,会在本地产生一个缓存文件,我们知道,所有文件都是有文件头格式加上一个二进制码流产生的,可以通过从服务器传回一个文件头和字节流以及token组成的对象,我们直接从这个对象里面取数据就好了。
下面介绍如何使用$.ajax,$ajax分为多种类型,$.get(),$.post,$.ajax(),$.getJSON()这些是取数据的,还有$.getScript()自动加载内容。$.get(url,[data],[callback])传入三个参数,url是要访问的服务器后端地址,[data]是要传入的参数,可以直接加载url上,[callback]是回调函数,回调函数返回从服务器异步加载的数据,你也可以对其进行处理:
$.get("checkNum/my.php",function(e){
return e
},"json")等等
function getImgCaptcha() {
var url='/api/v2/register/captcha';
url=url+'?v='+(new Date).valueOf();
$.get(url,function(e){
CAPTCHA = e;
$('#inputcheck').attr('src',e.captcha);
});
}
$.post()与$.get()类似,只是在post最后加上了一个type类型。一般是JSON格式的。
$.ajax()功能就很强大了,
$.getJSON()就可以等同于$.get(xxx,x,x,"json");
本文纯属个人笔记,自己看看就好。