js ajax 404,Ajax中xmlHttpRequest对象的status总是等于404

pageEncoding="ISO-8859-1"%>

Ajax Tool Tip Example

var xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");

var dataDiv;

var dataTable;

var dataTableBody;

var offsetEl;

function initVars() {

//alert("initVars");

dataTableBody = document.getElementById("courseDataBody");

dataTable = document.getElementById("courseData");

dataDiv = document.getElementById("popup");

}

function getCourseData(element) {

//alert("getCourseData");

initVars();

offsetEl = element;

var url = "ToolTipServlet?key=" + escape(element.id);

xmlHttp.open("GET", url, true);

xmlHttp.onreadystatechange = callback;

xmlHttp.send(null);

}

function callback() {

//alert("callback1");

if (xmlHttp.readyState == 4) {

//alert("callback");

if (xmlHttp.status == 200) {

alert("callback2");

setData(xmlHttp.responseXML);

}

}

}

function setData(courseData) {

//alert("setData");

clearData();

setOffsets();

var length = courseData.getElementsByTagName("length")[0].firstChild.data;

var par = courseData.getElementsByTagName("par")[0].firstChild.data;

var row, row2;

var parData = "Par:" + par;

var lengthData = "Length:" + length;

row = createRow(parData);

row2 = createRow(lengthData);

dataTableBody.appendChild(row);

dataTableBody.appendChild(row2);

}

function createRow(data) {

var row, cell, txtNode;

row = document.createElement("tr");

cell = document.createElement("td");

cell.setAttribute("bgcolor", "#FFFAFA");

cell.setAttribute("border", "0");

txtNode = document.createTextNode(data);

cell.appendChild(txtNode);

row.appendChild(cell);

return row;

}

function setOffsets() {

var end = offsetEl.offsetWidth;

var top = calculateOffsetTop(offsetEl);

dataDiv.style.border = "black 1px solid";

dataDiv.style.left = end + 15 + "px";

dataDiv.style.top = top + "px";

}

function calculateOffsetTop(field) {

return calculateOffset(field, "offsetTop");

}

function calculateOffset(field, attr) {

var offset = 0;

while(field) {

offset += field[attr];

field = field.offsetParent;

}

return offset;

}

function clearData() {

var ind = dataTableBody.childNodes.length;

for(var i = ind - 1; i >= 0; i--) {

dataTableBody.removeChild(dataTableBody.childNodes[i]);

}

dataDiv.style.border = "none";

}

Ajax Tool Tip Example

Golf Course

August National
Pinehurst No.2
St. Andrews Links
Golf Club

然后是servlet:

package src;

import

import

import java.util.HashMap;

import java.util.Map;

import javax.servlet.ServletConfig;

import javax.servlet.ServletException;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

/**

* Servlet implementation class for Servlet: ToolTipServlet

*

*/

public class ToolTipServlet extends javax.servlet.http.HttpServlet implements javax.servlet.Servlet {

/* (non-Java-doc)

* @see javax.servlet.http.HttpServlet#HttpServlet()

*/

private Map courses = new HashMap();

public void init(ServletConfig config) throws ServletException {

CourseData a = new CourseData(72, 7290);

CourseData b = new CourseData(70, 7214);

CourseData c = new CourseData(72, 6566);

CourseData d = new CourseData(70, 7392);

courses.put(new Integer(1), a);

courses.put(new Integer(2), b);

courses.put(new Integer(3), c);

courses.put(new Integer(4), d);

}

public ToolTipServlet() {

super();

}

/* (non-Java-doc)

* @see javax.servlet.http.HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)

*/

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

// TODO Auto-generated method stub

Integer key = Integer.valueOf(request.getParameter("key"));

CourseData data = (CourseData)courses.get(key);

response.setContentType("text/xml");

response.setHeader("Cache-Control", "no-cache");

PrintWriter out = response.getWriter();

out.println("");

out.println("" + data.getPar() + "");

out.println("" + data.getLength() + "");

out.println("");

out.close();

}

/* (non-Java-doc)

* @see javax.servlet.http.HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)

*/

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

// TODO Auto-generated method stub

doGet(request, response);

}

private class CourseData {

private int par;

private int length;

public CourseData(int par, int length) {

this.par = par;

this.length = length;

}

public int getLength() {

return length;

}

public int getPar() {

return par;

}

}

}

红色那行上周怎么样都输不出来,今天一来就好了...

6f83fddf9cb9ff6843fffd45e1807199.gif

I'm here, as always...

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值