`
jcyanfan
  • 浏览: 75816 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

ajax异步判断网站是否可以访问到的解决方法

阅读更多
function getXMLHttpRequest(){
  var client = getXMLHttpRequestFromIE();
   if(client == null){
        client = new XMLHttpRequest();
   }
  return client;
}

function getXMLHttpRequestFromIE(){
  var namePrefixes = ["Msxml3","Msxml2","Msxml","Microsoft"];
  for(var i = 0; i < namePrefixes.length; i++){
       try{
           var name = namePrefixes[i] + ".XMLHTTP";
           return new ActiveXObject(name);
       }catch(e){
       }
  }
  return null;
}
var client = null;
//是否可以访问
var isRun = false;
//返回值
var stateString="";
//请求url的网站
function connUrl(url){
	client = getXMLHttpRequest();
	var actionURL = convertURL(url);
	try{
		client.open("GET", actionURL, true);
		client.onreadystatechange = callBack;
		client.send(null);
	}catch(e){}
	finally{
	}
}
function callBack(){
	if(client.readyState == 4){
		stateString = client.responseText;
		if(stateString && client.status==200)
			isRun = true;
	}
}
//是否可达
function isReach(url){
	connUrl(url);
	return isRun;
}
//给url地址增加时间戳,骗过浏览器,不读取缓存    
function convertURL(url) {    
        //获取时间戳    
        var timstamp = (new Date()).valueOf();    
        //将时间戳信息拼接到url上
        if (url.indexOf("?") >= 0) {    
                url = url + "&t=" + timstamp;    
        } else {    
                url = url + "?t=" + timstamp;    
        }    
        return url;    
}
//因为是异步,先调用,此时isRun的值是false
isReach("http://www.baidu.com");
//3秒钟后判断isRun的值,如果为false认为网站不可达,类似超时时间
setTimeout(function(){   
		//alert(stateString); 
		//alert(isRun);
		if(isRun==true){
			document.getElementById("ceshi").innerText = "网站是通的!";
		}else{
			document.getElementById("ceshi").innerText = "网站不通!";
		}
	},3000);

 

<div id="ceshi"></div>

 

0
1
分享到:
评论

相关推荐

    Ajax异步无刷新验证码

    通过Ajax异步无刷新验证码,不仅可以提升用户体验,减少页面刷新带来的延迟,还可以提高网站的安全性,有效防止自动化攻击。同时,这种技术也有助于减轻服务器压力,因为只需要处理验证码的生成和验证,而不需要每次...

    AJAX反编译(异步传输大集合)

    以上就是AJAX异步传输的关键知识点,通过对这些概念的理解和实践,开发者可以更好地利用AJAX实现网页的无刷新更新,提高用户交互体验。通过提供的"ajax反编译"文件,你可以深入理解AJAX的内部实现,进一步提升你的...

    表格制作软件中实现ajax跨域异步单点登录的方法

    总结来说,通过在FineReport中运用ajax技术和JSONP跨域请求方式,可以有效地解决跨域问题,实现系统的单点登录功能。这不仅为用户提供了便利,也加强了系统的安全性和可维护性。在具体实施时,开发者应充分考虑到...

    ajax分页和ajax登录判断的案例带数据库存

    结合以上内容,我们可以看到,Ajax分页和Ajax登录判断都利用了Ajax技术的异步特性,实现了页面部分内容的动态更新,提高了用户体验。在实际项目中,开发者需要结合后端语言(如PHP、Java、Python等)和数据库管理...

    Ajax-测试是否存在

    Ajax(Asynchronous ...综上所述,"Ajax-测试是否存在"涵盖了Ajax技术的运用,结合C#后端与SQL Server数据库,提供了异步数据验证的实例,涉及到了前端与后端的交互、数据格式转换、安全性以及性能优化等多个方面。

    AJAX访问PHP函数库AJASON的同步(非异步)版

    5. **处理响应**:同步模式下,可以通过监听`onreadystatechange`事件来检查`readyState`和`status`属性,判断请求是否完成且成功。然后,可以使用`responseText`或`responseXML`获取服务器返回的数据。 6. **示例*...

    ajax重写方法搭配后台filter返回status实现ajax请求跳转登录页面

    在现代Web应用中,用户交互通常涉及到异步数据交换,这就是AJAX(Asynchronous JavaScript and XML)技术的应用。Ajax允许我们在不刷新整个页面的情况下与服务器进行通信,提高用户体验。然而,当用户未登录或者会话...

    Ajax跨域问题及其解决方案.docx

    ### Ajax跨域问题及其解决方案 #### 一、Ajax跨域问题概述 在现代Web开发中,前后端分离架构越来越流行。这种模式下,前端页面与后端服务通常部署在不同的服务器上,甚至可能位于不同的域名下。当浏览器发起对不同...

    ajax 检测用户名是否被占用

    通过Ajax,我们可以实现后台与服务器的异步数据交换,提升用户体验,使用户在输入用户名时就能实时得知该用户名是否已被占用。 以下是一个关于如何利用Ajax实现这个功能的详细解释: 1. **前端交互**: - 首先,...

    浅析异步调用的ppt

    3. 打开到服务器的连接,指定请求类型(如GET或POST)、URL以及是否异步执行。 4. 发送请求到服务器,可能包含请求数据。 5. 在回调函数中处理服务器的响应,根据状态码判断请求是否成功,并获取响应内容。 ...

    ajax教程资料ajax

    - **for...in循环**:可以遍历对象的所有成员,但要注意避免遍历到原型链上的属性,因此通常需要配合`hasOwnProperty`方法。 - **typeof操作符**:返回一个表示值类型的字符串,但对null的判断有特殊性,返回...

    14ajax课程_AJAX基础_

    可以通过检查`status`属性来判断,如404表示未找到资源,500表示服务器内部错误。 ### 8. 跨域请求 由于同源策略的限制,AJAX请求通常只能访问同源(协议、域名、端口相同)的资源。为实现跨域,可以使用JSONP或者...

    基于Ajax用户名验证、服务条款加载、验证码生成的实现方法

    一旦创建了对象,就可以调用其open()方法初始化请求,指定请求类型(GET或POST)、URL和是否异步执行。接着,使用send()方法发送请求。在请求过程中,可以监听readyState和status属性的变化来判断请求状态。当...

    用ajax+servlet做的练习

    通过检查readyState和status属性,可以判断请求是否完成以及是否成功。 4. **JSON数据格式**:尽管名称中包含XML,但现代Ajax更常使用JSON(JavaScript Object Notation)作为数据交换格式,因为JSON更轻量级且易于...

    Ajax学习笔记.zip

    通过调用其open()方法设置请求类型(GET或POST)、URL和是否异步,然后使用send()方法发送请求。当服务器响应时,XMLHttpRequest对象的onreadystatechange事件会被触发,通过readyState属性和status属性可以判断请求...

    判断手机访问网站JS

    以上就是利用JavaScript判断用户是否使用手机访问网站的基本原理和实现方法。通过这些技术,开发者可以创建更加智能和适应性的网页,提高不同设备用户的浏览体验。当然,随着设备种类的增加,可能需要不断更新检测...

    Ajax验证用户名是否重复.rar

    2. **异步请求**:Ajax的异步特性使得用户可以在等待服务器响应的同时,继续与网页的其他部分进行交互。通过设置`xhr.open()`方法的第三个参数为`true`,可以开启异步模式。 3. **发送请求**:使用`xhr.send()`方法...

    ajax页面交互

    - **异步请求**:Ajax 的“异步”特性意味着,当发送一个请求时,浏览器不会阻塞,可以继续处理其他任务,直到服务器返回响应。 - **数据格式**:虽然名字中有XML,但Ajax实际传输的数据格式不限于XML,还可以是...

    使用Webbrowser获取异步加载的网民跟帖数据的程序

    2. **模拟用户交互**:如果网民跟帖是通过用户操作(如点击“加载更多”按钮)触发异步加载,可以使用Webbrowser控件的`InvokeScript`方法来执行相应的JavaScript函数,模拟用户行为。 3. **监听Ajax请求**:因为...

    AJAX 开发简略

    2. **打开连接**:调用 `open()` 方法,指定请求类型(GET、POST等)、URL 和是否异步执行。 3. **设置头部**:可选地,使用 `setRequestHeader()` 设置请求头,如 `Content-Type`。 4. **发送请求**:调用 `send()`...

Global site tag (gtag.js) - Google Analytics