一个AJAX连接池封装
1、源代码
这个AJAX连接池害我我弄了很久,终于,让它兼容IE6/7/8、FireFox、Opera、Google Chrome这四类浏览器了。
/**
* AJAX 连接池
* AJAXConnectionPool Build in 2009.7.10
* @author CodingMouse
* @version 1.0
*/
var AJAXConnectionPool = function() {
// 任务队列
var taskQueue = [];
// 请求缓冲池
var requestBufferPool = [];
// 最大连接数
var maxThreadNumber = 2;
return {
/**
* 获取空闲请求
* @return {空闲请求对象}
*/
getIdleRequest : function() {
var request = null;
for (var i = 0; i < maxThreadNumber; i++) {
if (requestBufferPool[i].readyState == 0) {
request = requestBufferPool[i];
break;
}
}
return request;
},
/**
* 初始化
* @param {最大连接数} max
*/
init : function(max) {
if (max != null)
maxThreadNumber = max;
for (var k = 0; k < maxThreadNumber; k++) {
var request = null;
if (window.XMLHttpRequest) { // 如果是 Google Chrome、 Mozilla Firefox、Netscape、Opera 8.0+、Safari、IE7+ 等浏览器
request = new XMLHttpRequest();
if (request.overrideMimeType) { // 设置 MiME 类别
/*
* 有些版本的浏览器在处理服务器返回的未包含XML mime-type头部
* 信息的内容时会报错,因此,要确保返回的内容包含text/xml信息。
*/
request.overrideMimeType("text/xml");
}
} else if (window.ActiveXObject) { // 如果是 Internet Explorer 6.0- 浏览器
var msXml = [
"Msxml2.XMLHTTP.6.0",
"Msxml2.XMLHTTP.5.0",
"Msxml2.XMLHTTP.4.0",
"Msxml2.XMLHTTP.3.0",
"Msxml2.XMLHTTP",
"Microsoft.XMLHTTP"];
for(var i = 0; i < msXml.length; i++) {
try{
request = new ActiveXObject(msXml[i]);
break;
}catch(e) {
request = null;
}
}
if (request == null) {
alert("Sorry! Because you are using a browser that does not support AJAX, the server can not process a r
相关文档:
最近网上提的很多的一个新概念就是 AJAX 了, 那么, AJAX 是什么呢? 以下内容引用网上资料:
AJAX全称为“Asynchronous JavaScript and XML”(异步JavaScript和XML),是指一种创建交互式网页应用的网页开发技术。它有机地包含了以下几种技术:
Ajax(Asynchronous JavaScript + XML)的定义
基于 web标准(sta ......
<script type="text/javascript">
var xmlHttp;
function createXMLHttpRequest(){
if(window.ActiveXObject){
xmlHttp=new ActiveXObject("Microsoft.XMLhTTP");
}
else if(window.XMLHttpRequest){
xmlHttp=new ......
php部分
<?php
/*
[Discuz!] (C)2001-2009 Comsenz Inc.
This is NOT a freeware, use is subject to license terms
$Id: register.php 21057 2009-11-10 01:05:36Z monkey $
*/
define('CURSCRIPT', 'register2');
define('NOROBOT', TRUE);
require_once './include/common.inc.php';
$se ......
传智播客java培训2010年4月10日ajax增强总结1
今天的课,我只能用惊讶来实现,因为虽然以前我自己做开发的时候也会经常用到javascript来做一些东西,并且也能实现所要需要的功能做,我没有想到的是,其中用到的一些功能居然可以用很简单的语言就能实现,不愧是多年总结下来的经验!我在想如果我仍旧在原先的岗位上继续做 ......
内容页:
<%@ Page Title="" Language="C#" MasterPageFile="~/Site1.Master" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="ScriptManagerProxyDemo.WebForm1" %>
<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" runat="server">
<script type="text/javas ......