- Ajax
Ajax是一种创建交互式网页应用的网页开发技术,核心对象时XMLHTTPrequest,Ajax=异步的js+xml。
框架图如下:
里面有一个Ajax的引擎,负责接收页面传过来的请求,转发给服务器。
//页面点击,调用js的startRequest函数 function startRequest() { createXMLHttpRequest(); //新建一个xmlHttpRequest 请求 proId = document.getElementById("proId").value; //获得页面的值 xmlHttpRequest.open("get", "findCitysByProId.action?proId=" + proId, true); //打开一个连接 xmlHttpRequest.onreadystatechange = setStartRequest; //设置响应 xmlHttpRequest.send(null); } //创建一个xmlHttpRequest 请求,区别浏览器 function createXMLHttpRequest() { if (window.ActiveXObject) { xmlHttpRequest = new ActiveXObject("Microsoft.XMLHTTP"); } else if (window.XMLHttpRequest) { xmlHttpRequest = new XMLHttpRequest(); } } //接收返回的参数 function setStartRequest() { if (xmlHttpRequest.readyState == 4) { if (xmlHttpRequest.status == 200) { var text = xmlHttpRequest.responseText; //将传回来的数据赋值给变量text alert(text); } } }
也需要在struts.xml里面进行配置action和jsp的映射。
- Ajax跨域的问题
Ajax在使用的时候,用户的ajax程序只能访问同一个域下的资源,即www.baidu.com的页面ajax只能获得www.baidu.com应用程序下的资源。这样做的目的是提高安全性,因为页面发送请求的时候,除了请求信息,还有cookie等信息,一旦这些cookie信息被被人获得都是不够安全的。
解决办法是:
一、在服务器端处理跨域的问题,将发送请求推迟到服务器端。
二、