Ajax判断浏览器的方法总结
首先把代码给大家,下面是解释
/**
* 获得XMLHttpRequest对象
*/
function createXHR(){
var x=[function(){return new ActiveXObject("Msxm12.XMLHTTP");},function(){return xmhttp=new ActiveXObject("Microsoft.XMLHTTP");},
function(){return new XMLHttpRequest();}];
for (var i=0; i<x.length; i++) {
try {
return (x[i])();
} catch (e) {
}
};
}
方法一:
//创建一个布尔型变量,用来检查是否为合法的IE实例
var xmlreq = false;
//检查是否使用的是IE
try {
//如果JavaScript的版本大于5
xmlreq = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e1) {
// 如果不是,则使用老版本的ActiveX对象来检查
try {
//如果使用的是IE浏览器
xmlreq = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e2) {
// 否则肯定使用的是非IE浏览器
xmlreq=false;
}
}
}
//如果使用的是非IE浏览器,则创建一个该对象的JavaSript实例
if(!xmlreq && typeof XMLHttpRequest!='undefined'){
xmlreq=new XMLHttpRequest();
}
方法二:
//创建一个布尔型变量,用来检查是否为合法的IE实例
var xmlreq = false;
//如果ActiveX对象可用,则使用的肯定是IE
if (window.ActiveXObject) {
xmlreq = new ActiveXObject("Microsoft.XMLHTTP");
} else {
// 否则肯定使用JavaSript处理方法
xmlreq=new XMLHttpRequest();
}
方法三:
//创建一个布尔型变量,用来检查是否为合法的IE实例
var xmlreq = false;
//
if (window.XMLHttpRequest) {
// 如果使用的是非IE浏览器,则创建一个该对象的JavaSript实例
xmlreq = new XMLHttpRequest();
} else if (window.ActiveXObject) {
// Create XMLHttpRequest via MS ActiveX
try {
// 如果JavaScript的版本大于5
xmlreq = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e1) {
相关文档:
What is AJAX
This section is for those who have no idea what AJAX is. If you don’t fall into this category, feel free to skip to the next section.
AJAX stands for asynchronous JavaScript and XML. If you see another term XHR, which is shorthand for XML HTTP request, it’s the same thing. ......
在
vs2008为asp.net ajax添加js智能感知
今天找了好久,终于搞清楚了,scriptManager控件支持js智能感知,而从其继承的toolkitScriptManager不支持。至少在
vs2008b2中是这样。
要在js文件中添加asp.net ajax的js智能感知(与scriptManager控件无关),在js文件的开头添加这样一行即可:
//
/<referen ......
在一个小型项目中,我使用了Ajax Extensions中的UpdatePanel控件,在本地调试运行时好的,可以看到ajax的异步刷新效果,但是当发布到安装了.net framework 3.5 sp1的server 2003上去之后,发现ajax效果没有了,也就是说本来的异步提交变成了非Ajax方式的POST,而且没有报告任何错误。
对比开发时和运行 ......
ajax.open方法中,第3个参数是设同步或者异步。prototype等js类库一般都默认为异步,即设为true。
先说下同步的
情况下,js会等待请求返回,获取status。不需要onreadystatechange事件处理函数。
而异步则需要
onreadystatechange事件处理,且值为4再正确处理下面的内容
......
Java代码
@Override
protected ModelAndView onSubmit(HttpServletRequest request, HttpServletResponse response, Object cmd,
BindException ex) {
&nb ......