ajax.js代码如下:<%@ page import="java.net.*,java.util.*,java.lang.*,java.io.*"%> <%@ page contentType="text/xml;charset=gb2312"%> <%
//1.接收url参数 String url = null; StringBuffer params = new StringBuffer(); Enumeration enu = request.getParameterNames(); int total = 0; while (enu.hasMoreElements()) { String paramName = (String) enu.nextElement(); if (paramName.equals("url")) { url = request.getParameter(paramName); } else { if (total == 0) { params.append(paramName) .append("=") .append(URLEncoder.encode( request.getParameter(paramName), "UTF-8")); } else { params.append("&") .append(paramName) .append("=") .append(URLEncoder.encode( request.getParameter(paramName), "UTF-8")); } ++total; } }
//2.请求url获取数据 if (url != null) { // 使用GET方式向目的服务器发送请求 URL connect = new URL(url.toString()); URLConnection connection = connect.openConnection(); connection.connect(); BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream(),"UTF-8"));//注意处理编码问题 String line; while ((line = reader.readLine()) != null) { out.println(line);//输出数据给ajax回调函数接收 } reader.close(); } %>
test.js/** * JavaScript Ajax Library * * * get调用方式 * Ajax.get( * url, * function(data){ * //处理返回数据后 * }); * * post调用方式 * Ajax.post( * url, * function(data){ * //处理返回数据后 * }); */ var AJAXPROXY = '/proxy.jsp?url=';//注意proxy.jsp路径 var Ajax = new Object(); Ajax.request = function(){ if(window.XMLHttpRequest) { var Ajax = new XMLHttpRequest(); }else if (window.ActiveXObject) { try { var Ajax = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { try { var Ajax = new ActiveXObject("Microsoft.XMLHTTP"); } catch (e) {} } } if (!Ajax) { /*window.alert("不能创建XMLHttpRequest对象<SPAN class=hilite2>实例</SPAN>.");*/ return false; } return Ajax; }; Ajax.req = Ajax.request(); Ajax.Handle = function(callback){ Ajax.req.onreadystatechange=function(){ if(Ajax.req.readyState==4){ if(Ajax.req.status==200){ callback(Ajax.req.responseText); } } }; }; Ajax.get = function(url,callback){ url = AJAXPROXY+encodeURIComponent(url); Ajax.req.open('get',url,true); Ajax.req.send(null); Ajax.Handle(callback); }; Ajax.post = function(url,callback){ url = AJAXPROXY+encodeURIComponent(url); Ajax.req.open('post',url,true); Ajax.req.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded;'); Ajax.req.send(null); Ajax.Handle(callback); }; /*字符串转换成json*/ function strToJson(str){ return eval('('+str+')'); };
//get请求 Ajax007.get( 'http://www.baidu.com', function(data){ //处理返回数据后 });
//post请求
Ajax007.post( 'http://www.baidu.com', function(data){ //处理返回数据后 });