首页 » web » 正文

Ajax实现跨服务器,跨域名调取数据 有点类似httpclient

有时候在制作网站的时候,可能要跨域调取数据,比如在在两个服务器两个数据库的两个用户表中的数据,都要求可以登陆同一个网站,这个时候我们可能需需要用ajax跨服务器调取数据

首先可能需要我们先了解一下ajax,我最早接触ajax其实就是在注册时候做动态验证,当时我就很奇怪,Htm页面怎么还能无刷新验证用户名,手机号码,身份证号等是否存在(小白了我….)后来在实际做项目的时候,自己也使用到了简单的ajax,比如我们有一个Htm的首页index.htm但是,首页中的新闻需要是动态更新的,所以这个时候我们就需要使用ajax来实现在静态页面中动态更新新闻内容的效果,其实这个类似于在静态页中引用了一个iframe,每次有人访问的时候,iframe里边的jsp都会发生动态变化

下边有个例子:

上边的这个例子是说,刚开始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封装的一个方法

 

这个我们会在yanzheng.jsp这个页面返回一个错误,当然正确的就返回1了

out.print(“({ status:’-1′})”);

 

时间:2012-04-14 22:52:51

 

Zhiming Zhang

Senior devops at Appannie
一个奔跑在运维路上的胖子
Zhiming Zhang

Latest posts by Zhiming Zhang (see all)