ajax两种传输方式,AJAX_Ajax 对象 包含post和get两种异步传输方式,复制代码 代码如下: /** * @author - phpStudy...

Ajax 对象 包含post和get两种异步传输方式

复制代码 代码如下:

/**

* @author Supersha

* @QQ:770104121

*/

Ajax Document

//注意,编码要同意为utf-8才能避免中文参数和返回中文的乱码问题

function Ajax(prop){

this.action(prop); //在实例化的时候就调用action方法

}

Ajax.prototype = {

createXHR: function(){ //创建XMLHttpRequest对象

var xhr = false;

if (window.XMLHttpRequest) {

xhr = new XMLHttpRequest();

}

else

if (window.ActiveXObject) {

try {

xhr = new ActiveXObject("Msxml2.XMLHTTP");

}

catch (e) {

xhr = new ActiveXObject("Microsoft.XMLHTTP");

}

}

return xhr;

},

action: function(prop){

var xhr = this.createXHR();

if (xhr) {

var url = encodeURI(prop["url"]); //对URL进行编码

if (prop["method"] == "GET" && url && prop["success"]) { //GET方法

xhr.onreadystatechange = function(){

(function(){ //自执行函数用于检查服务器的返回状态并执行回调函数

if (xhr.readyState == 4 && xhr.status == 200) {

prop["success"](xhr); //执行回调函数

}

})();

};

//alert(prop["hander"] instanceof Function);

xhr.open("GET", url, true);

xhr.send(null);

}

else

if (prop["method"] == "POST" && url && prop["success"]) { //POST方法

xhr.onreadystatechange = function(){

(function(){

if (xhr.readyState == 4 && xhr.status == 200) {

prop["success"](xhr); //执行回调函数

}

})();

};

if (prop["params"]) {

url = url.indexOf("?") > -1 ? url + "&" + prop["params"] : url +"?" + prop["params"];

}

xhr.open("POST", url, true);

xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");

xhr.send(null);

}

}

else

if (!xhr && prop["fail"]) {

prop["fail"]();

}

}

}

function getData(){

var ajax = new Ajax({

url: "test.php",

method: "POST",

success: onComplete,

params: "name="+escape("沙锋") //进行编码

});

}

function onComplete(obj){

alert(unescape(obj.responseText)); //进行转码

}

注释:

Ajax对象接受一个对象字面量为参数,这个对象字面量中包含method,url,success,params,fail参数

method:"GET"或者"POST"

url:服务器端文件路径

success:当请求没有错误的时候,调用的回调函数,该回调函数带一个XMLHttpRequest对象的参数

fail:当请求错误的时候调用

params:当使用POST方法发送请求是,params为参数字符串相关阅读:

熟悉Linux系统病毒做好系统的防护工程

linux命令行(文本模式)下配置网络

Committed Access Rate配置案例以及详解

Javascript String.replace的妙用

兼容IE,firefox的获取节点的文本值的javascript代码

在IE中使用高级CSS3选择器

Oracle图形化管理工具Navicat 安装与使用

CSS样式表尽量放到网页头部

javascript关于复选框的实用脚本代码

JavaScript 原型继承

关于C# if语句中并列条件的执行

网页颜色搭配技巧 文字字体、字号、字体排版等

IE6、IE7和FF的最简单的hack技巧

解决ora-01034:oracle not available问题

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值