在编写ajax时遇到问题,部署到服务器上和本地是一样的webapps,但运行服务器上代码出错,是缓存原因。
在大神教导下,原因总结如下:
- 编写ajax时尽量使用jquery ajax,它帮程序员屏蔽了浏览器的差异性
- IE浏览器空为”“,谷歌浏览器空为null
function cellphone_show()
{
var cellphone = document.getElementById("cellphone").value;
//建立一个xmlHttp核心对象
createXMLHttp();
//设置一个请求
xmlHttp.open("POST","CellphoneServlet",false);
xmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded"); //!!!!后台获取不到参数,这个要写
//设置请求完成之后处理的回调函数
xmlHttp.onreadystatechange=cellphone_Callback;
//发送请求,不传递任何参数
xmlHttp.send("cellphone="+cellphone);
}
function cellphone_Callback()
{
if(xmlHttp.readyState==4) //定义回调函数
{
if(xmlHttp.status==200) //正常HTML操作
{
/*if (!!window.ActiveXObject || "ActiveXObject" in window) //此方法兼容ie11
alert("我是 IE");
else
alert("我不是 IE"); */
//接受返回的内容
var text=xmlHttp.responseText;
// alert(text);
//设置要使用的CSS样式表
//document.getElementById("msg").className="样式表名称";
document.getElementById("hidden_cellphone").value=text;
if(text != "ok") {
document.getElementById("cellphone_msg").innerHTML=text;
} else {
if (!!window.ActiveXObject || "ActiveXObject" in window)
document.getElementById("cellphone_msg").innerHTML="";
else
document.getElementById("cellphone_msg").innerHTML=null;
}
}
}
}
- 后面的参数服务器会忽略,但有参数的话,应用会从服务器拿数据,不会使用缓存。当然,也可以使用ctrl+F5强制刷新。