ajax与json
1.ajax请求servlet(picnews.js)//1定义var xmlHttp= false; //2,创建function createXmlHttp() {if(window.ActiveXObject) {xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");} else {xmlHttp = new XMLHttpRequest();} } function getData() {createXmlHttp();varurl = "servlet/FocusNewsServlet";//打开异步请求xmlHttp.open("get",url,"true"); //监听异步请求状态xmlHttp.onreadystatechange = callback; //发送异步请求xmlHttp.send(); }function callback(){ if(xmlHttp.readyState == 4) { var json = xmlHttp.responseText; var res = eval('('+json+')'); //for(var i in json) // { // alert("picId"+i+"="+res.list.picId);//alert:imgUrl2=images/homead/2011060301.jpg // }showFocus(res); }};function showFocus(res){var focus_width=280;var focus_height=180;var text_height=0;var swf_height=focus_height + 0;var pic1=res.list.picUrl;var pics="UploadImages/"+res.list.picUrl+"###UploadImages/"+res.list.picUrl+"###UploadImages/"+res.list.picUrl+"###UploadImages/"+res.list.picUrl+"###UploadImages/"+res.list.picUrl;var links=res.list.picLink+"###"+res.list.picLink+"###"+res.list.picLink+"###"+res.list.picLink+"###"+res.list.picLink;var texts=res.list.picText+"###"+res.list.picText+"###"+res.list.picText+"###"+res.list.picText+"###"+res.list.picText;var descripts=res.list.picDescripts+"###"+res.list.picDescripts+"###"+res.list.picDescripts+"###"+res.list.picDescripts+"###"+res.list.picDescripts+"";var fo = new SWFObject("swf/pix.swf", "_FocusObj", focus_width, swf_height, "7","F6F8FA");fo.addVariable("pics", pics);fo.addVariable("links", links);fo.addVariable("texts", texts); fo.addVariable("descripts", descripts);fo.addVariable("borderwidth", focus_width);fo.addVariable("borderheight", focus_height);//fo.addVariable("textheight", text_height);fo.addVariable("border_color", "#666"); //fo.addVariable("fontsize", "24"); //fo.addVariable("fontcolor", "FFFFFF");fo.addVariable("is_border", "");fo.addVariable("is_text", "1");fo.addParam("wmode", "opaque");fo.write("FocusObj");}getData();
2.servlet返回json至前端
package com.bc.servlet;import java.io.IOException;import java.io.PrintWriter;import java.util.HashMap;import java.util.List;import java.util.Map;import javax.servlet.RequestDispatcher;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import net.sf.json.JSONObject;import com.bc.bean.AdminSheet;import com.bc.dao.AdminOrclDAO;import com.bc.dao.impl.daoImpl;public class FocusNewsServlet extends HttpServlet {/** * Constructor of the object. */public FocusNewsServlet() {super();}/** * Destruction of the servlet. <br> */public void destroy() {super.destroy(); // Just puts "destroy" string in log// Put your code here}/** * The doGet method of the servlet. <br> * * This method is called when a form has its tag value method equals to get. ** @param request the request send by the client to the server * @param response the response send by the server to the client * @throws ServletException if an error occurred * @throws IOException if an error occurred */public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {response.setContentType("text/html;charset=UTF-8");PrintWriter out = response.getWriter();AdminOrclDAO dao=new AdminOrclDAO();List list=dao.findAllPicNewsSheet();//request.setAttribute("list", list);//RequestDispatcher requestDispatcher = request.getRequestDispatcher("/Admin/PortalFlashList.jsp");//requestDispatcher.forward(request,response);//String[] adName={};//for (int i = 0; i < list.size(); i++) {//System.out.println(((AdminSheet)(list.get(i))).getAdName());//out.print(((AdminSheet)(list.get(i))).getAdName());//}Map<String,Object> map = new HashMap<String,Object>();//map.put("a", "aaaa");map.put("list",list );JSONObject obj=JSONObject.fromObject(map);//out.println("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">");//out.println("<HTML>");//out.println("<HEAD><TITLE>A Servlet</TITLE></HEAD>");//out.println("<BODY>");//out.print("${requestScope.}");//out.print(this.getClass());//out.println(", using the GET method");//out.println("</BODY>");//out.println(list);out.println(obj);out.flush();out.close();}/** * The doPost method of the servlet. <br> * * This method is called when a form has its tag value method equals to post. ** @param request the request send by the client to the server * @param response the response send by the server to the client * @throws ServletException if an error occurred * @throws IOException if an error occurred */public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {response.setContentType("text/html");PrintWriter out = response.getWriter();out.println("...");out.flush();out.close();}/** * Initialization of the servlet. <br> * * @throws ServletException if an error occurs */public void init() throws ServletException {// Put your code here}}
3.js解析json,取出数据
代码已在1,picnews.js内,解析方式:var res = eval('('+json+')');
取值json对象方式为:
res.list.picId
页:
[1]