有时候在制作网站的时候,可能要跨域调取数据,比如在在两个服务器两个数据库的两个用户表中的数据,都要求可以登陆同一个网站,这个时候我们可能需需要用ajax跨服务器调取数据
首先可能需要我们先了解一下ajax,我最早接触ajax其实就是在注册时候做动态验证,当时我就很奇怪,Htm页面怎么还能无刷新验证用户名,手机号码,身份证号等是否存在(小白了我….)后来在实际做项目的时候,自己也使用到了简单的ajax,比如我们有一个Htm的首页index.htm但是,首页中的新闻需要是动态更新的,所以这个时候我们就需要使用ajax来实现在静态页面中动态更新新闻内容的效果,其实这个类似于在静态页中引用了一个iframe,每次有人访问的时候,iframe里边的jsp都会发生动态变化
下边有个例子:
1 2 3 4 5 6 7 8 |
<div class="maple"> Loding... </div> <script type="text/javascript"> jQuery.post("ajax.jsp",{"flag":"index_gsxw_maple"},function(data){ jQuery(".maple").html(data); }); </script> |
上边的这个例子是说,刚开始class名为maple的这个层里放的是一个Loding(就是在打开页面到数据加载之间出现的),然后我们调用jQuery中的方法,向ajax.jsp发送一个请求,其实就是类似提交了一个表单,表单里边有个字段叫flag,他的值是index_gsxw_maple,当然,这个可以无所谓,如果你的ajax.jsp中只处理一个逻辑的话,想当于我们访问了
http://xxx.xxx.com/ajax.jsp?flag=index_gsxw_maple
然后,我们在ajax.jsp中把新闻通过数据库调取出来,然后带有一定格式的打印出来(out.print),下边我们就需要把ajax.jsp中的数据原样显示出来了?显示到哪呢?jQuery(“.imaple”).html(data);data就是ajax.jsp返回的东西
以上为一个简单的ajax的应用,实际过程中,我们很可能传递好多参数
比如我接下来要说的跨站访问用户名密码,首先我们需要有一个页面,这个页面中我们做如下处理:
访问这个页面的时候,我们需要传递两个参数,用户名(user_name)密码(passw),我们得到这两个参数之后,在当前页面数据库中进行相应的查找,如果用户名密码正确,我们返回1,如果错误,我们返回-1,这样的话我们就可以在别的网站登录的时候,验证该页面所在网站的用户名和密码了
这个过程需要用到jQuery封装的一个方法
1 2 3 4 5 6 7 8 9 10 |
jQuery.getJSON("http://www.xxx.com/yanzheng.jsp?user_name="+a+"&passw="+b+"&callback=?",function(data){ var obj = data; if(obj.status!=-1){ alert('登录成功'); }else{ alert('登录失败,请检查用户名密码'); } }); |
这个我们会在yanzheng.jsp这个页面返回一个错误,当然正确的就返回1了
out.print(“({ status:’-1′})”);
时间:2012-04-14 22:52:51
Latest posts by Zhiming Zhang (see all)
- aws eks node 自动化扩展工具 Karpenter - 8月 10, 2022
- ReplicationController and ReplicaSet in Kubernetes - 12月 20, 2021
- public key fingerprint - 5月 27, 2021