xmlhttprequest 原生使用

package com.ajax.web;

import java.io.IOException;
import java.io.PrintWriter;
import java.util.List;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.ajax.dao.Dao;

public class ShwServlet extends HttpServlet {

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

		response.setContentType("text/html;charset=gbk");
		PrintWriter out = response.getWriter();

		String uname = request.getParameter("uname");

		String name = new String(uname.getBytes("iso-8859-1"), "gbk");

		// Dao dao = new Dao();
		// List<String> list = dao.find(name);

		StringBuffer sf = new StringBuffer();

		for (String s : list) {
			sf.append("<div οnmοuseοver='over(this)' " +
					"οnclick='myclick(this)'  " +
					"οnmοuseοut='out(this)'>"+s+"</div>");
		}
		out.print(sf.toString());
		out.close();
	}

}
这是我的ajax脚本文件

var req =null; //声明ajax的核心对象,从是没有初始化


//响应jsp页面中的函数
function show(){
	
	
	//取到页面中的文本框控件
	var name = document.getElementById("name");
	//取到控件中的值
	
	var val = name.value;
	
	if(val==""){
		mydiv.innerHTML="";
		return;
	}else{
		//封装一个请求servlet路径的url地址,同时把参数以url重写的方式传递
		var url = "abc?uname="+val;
		sendRequest(url);	
	}
	
}


//编写方法,根据不同的浏览器创建核心对象 XMLHttpRequest,

function  createReq(){
	
	
	//非IE
	if(window.XMLHttpRequest){
		req = new XMLHttpRequest();
	}else if(window.ActiveXObject){
		try{
			req = new ActiveXObject("Msxml2.XMLHTTP");
		}catch(e){
			req = new ActiveXObject("Microsoft.XMLHTTP");
		}
	}

}


//利用核心对象和后台交互
function sendRequest(url){
	
	
	//准备交互
	//1、调用方法初始化核心对象
	createReq();
	//2、准备建立异步请求
	//req.open(选择servlet的处理方式,地址,同步还是异步);
	req.open("GET",url,true);
	//3、编写委托,委托一个方法来处理请求的返回结果
	//req.onreadystatechange =被委托的函数名称
	req.onreadystatechange = process;
	//4、真正的发送请求到后台
	req.send(null);
}


//当返回值来了以后,由被委托的函数来处理
function process(){
	
	//首先判断异步是否成功与后台交互
	
	//req.readystate==4  表示,前台与后台,成功交互了一次
	if(req.readystate==4){
		//交互成功以后,还要判断请求是否成功处理
		if(req.status==200){
			//定制一个变量,获得后台的返回值
			var res = req.responseText;
			//req.responseText 它可以获得servlet中,流所输出的内容
			mydiv.innerHTML = res;
		}
	
	}

}

//处理悬停事件
function over(obj){
	obj.style.backgroundColor="lime";
}
function out(obj){
	obj.style.backgroundColor="white";
}

function myclick(obj){
	
	var val = obj.innerHTML;
	document.getElementById("name").value=val;
	mydiv.innerHTML="";
}





<%@ page language="java" import="java.util.*" pageEncoding="GB18030"%>
<html>
  <head>
  		<script type="text/javascript" src="js/script.js"></script>
  </head>
  
  <body>
  		<table>
  			<Tr>
  				<Td>
  					<input type="text" name="name" οnkeyup="show()"/>
  				</Td>
  			</Tr>
  			<Tr>
  				<Td>
  					<div id="mydiv" style="border-style: groove"></div>
  				</Td>
  			</Tr>
  		</table>	
  </body>
</html>


Python网络爬虫与推荐算法新闻推荐平台:网络爬虫:通过Python实现新浪新闻的爬取,可爬取新闻页面上的标题、文本、图片、视频链接(保留排版) 推荐算法:权重衰减+标签推荐+区域推荐+热点推荐.zip项目工程资源经过严格测试可直接运行成功且功能正常的情况才上传,可轻松复刻,拿到资料包后可轻松复现出一样的项目,本人系统开发经验充足(全领域),有任何使用问题欢迎随时与我联系,我会及时为您解惑,提供帮助。 【资源内容】:包含完整源码+工程文件+说明(如有)等。答辩评审平均分达到96分,放心下载使用!可轻松复现,设计报告也可借鉴此项目,该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的。 【提供帮助】:有任何使用问题欢迎随时与我联系,我会及时解答解惑,提供帮助 【附带帮助】:若还需要相关开发工具、学习资料等,我会提供帮助,提供资料,鼓励学习进步 【项目价值】:可用在相关项目设计中,皆可应用在项目、毕业设计、课程设计、期末/期中/大作业、工程实训、大创等学科竞赛比赛、初期项目立项、学习/练手等方面,可借鉴此优质项目实现复刻,设计报告也可借鉴此项目,也可基于此项目来扩展开发出更多功能 下载后请首先打开README文件(如有),项目工程可直接复现复刻,如果基础还行,也可在此程序基础上进行修改,以实现其它功能。供开源学习/技术交流/学习参考,勿用于商业用途。质量优质,放心下载使用
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值