Java Web基础问题,XMLHTTPRequest使用问题
刚学XMLHTTPRequest的使用,试着发一个请求,然后输出响应的内容,但点击按钮后不输出响应的内容,求大神指教:急,QQ:907600323
<html>
<head>
<title>SetRequest.html</title>
<script type="text/javascript">
function set(){
alert("5555");
var myRequest=null;
if (window.XMLHttpRequest) { myRequest=new XMLHttpRequest() }
else if (window.ActiveXObject) { myRequest=new ActiveXObject("Microsoft.XMLHTTP") }
if(myRequest){
myRequest.open("GET","http://localhost:8080/webdemo/servlet/FirstServlethttp",false);
myRequest.send(null);}
}
alert(myRequest.responseText);
</script>
</head>
<body>
This is my HTML page. <br>
<input type="button" value="发送请求" onclick="set()">
</body>
</html>
[解决办法]
<script language="javascript">
var XMLHttpReq = false;
//创建XMLHttpRequest对象
function createXMLHttpRequest(){
if(window.XMLHttpRequest){
XMLHttpReq = new XMLHttpRequest();
}else if(window.ActiveXobject){
try{
XMLHttpReq = new ActiveXobject("Msxm12.XMLHTTP");
}catch(e){
try{
XMLHttpReq = new ActiveXObject("Microsoft.XMLHTTP");
}catch(e){}
}
}
}
//发送请求函数
function sendRequest(url){
createXMLHttpRequest();
XMLHttpReq.open("GET",url,true);
XMLHttpReq.onreadystatechange = processResponse; //指定回调函数
XMLHttpReq.send(null); //发送请求
}
//处理返回信息函数
function processResponse(){
if(XMLHttpReq.readyState == 4){ //判断对象状态
if(XMLHttpReq.status == 200){
//信息已经成功返回,开始处理信息
alert(XMLHttpReq.responseXML.getElementsByTagName("name")[0].firstChild.nodeValue);
}else{
//页面不正常
alert("页面不正常");
}
}
}
</script>
<body>
This is my HTML page. <br>
<input type="button" value="发送请求" onclick="sendRequest('url')">
</body>
/**
* @see 建立一个xmlHttp(兼容的浏览器:IE6,IE7,IE8,火狐,谷歌,360,还有手机上的浏览器)
*/
var xmlHttp = false;
function createXmlHttp() {
if (window.XMLHttpRequest) {
xmlHttp = new XMLHttpRequest();
if (xmlHttp.overrideMimeType) {
xmlHttp.overrideMimeType("text/xml");
}
} else {
if (window.ActiveXObject) {
try {
xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e) {
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}
}
}
if (!xmlHttp) {
window.alert("\u8bf7\u4f7f\u7528IE\u6d4f\u89c8\u5668!");
}
}
/**
* @see 发送ajax请求(post)
* @param url 需要访问的url
* @param param 参数列表, 比如:"param=abc&random=" + Math.random()
* @param method 回调的方法
*/
function sendRequest(url, param, method) {
createXmlHttp();
xmlHttp.onreadystatechange = eval(method);
xmlHttp.open("POST", url, true);
xmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
xmlHttp.send(param);
}
/**
* @see ajax的回调函数
* @param result 返回的结果
* @param callBack 原来的回调函数
*/
function ajaxCallBack(result, callBack) {
if (null != result && result != "") {
var returnType = result.split("\u2605")[0];
var returnValue = result.split("\u2605")[1];
if (returnValue == "null") {
callBack(null);
} else {
var backObject = null;
if (returnType == "string") {
backObject = new String(returnValue);
} else if (returnType == "boolean") {
backObject = eval(returnValue);
} else if (returnType == "int") {
backObject = parseInt(returnValue);
} else if (returnType == "float") {
backObject = parseFloat(returnValue);
} else if (returnType == "object"
[解决办法]
returnType == "array"
[解决办法]
returnType == "objectArray") {
backObject = eval("(" + returnValue + ")");
}
callBack(backObject);
}
} else {
callBack();
}
}