主页 > 知识库 > Ajax 对象 包含post和get两种异步传输方式

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

热门标签:电销机器人适用范围 蓄意标记地图标注 广西ai语音电销机器人哪家好 莆田防封电销卡价格 信贷电销机器人有用吗 接听电话机器人哪有 如何用地图标注各分公司 察县地图标注 办理一个400电话多少钱
复制代码 代码如下:

/**
* @author Supersha
* @QQ:770104121
*/
!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
html>
head>
meta http-equiv="Content-Type" content="text/html; charset=utf-8">
title>Ajax Document/title>
script type="text/javascript">
//注意,编码要同意为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)); //进行转码
}
/script>
/head>
body>
input type="button" value="Get Data" onclick="getData()"/>
/body>
/html>

注释:
Ajax对象接受一个对象字面量为参数,这个对象字面量中包含method,url,success,params,fail参数
method:"GET"或者"POST"
url:服务器端文件路径
success:当请求没有错误的时候,调用的回调函数,该回调函数带一个XMLHttpRequest对象的参数
fail:当请求错误的时候调用
params:当使用POST方法发送请求是,params为参数字符串
您可能感兴趣的文章:
  • JQuery中使用ajax传输超大数据的解决方法
  • AJAX 异步传输数据的问题
  • Ajax实现的异步传输与验证示例代码
  • Ajax异步传输与PHP实现交互示例
  • Ajax同步与异步传输的示例代码
  • 利用ThinkPHP内置的ThinkAjax实现异步传输技术的实现方法
  • AJAX在GB2312的中文编码传输 AJAX特殊字符编码正确方法
  • ajax数据传输方式实例详解

标签:张掖 益阳 铜陵 鹰潭 平凉 儋州 阿拉善盟 延边

巨人网络通讯声明:本文标题《Ajax 对象 包含post和get两种异步传输方式》,本文关键词  Ajax,对象,包含,post,和,get,;如发现本文内容存在版权问题,烦请提供相关信息告之我们,我们将及时沟通与处理。本站内容系统采集于网络,涉及言论、版权与本站无关。
  • 相关文章
  • 下面列出与本文章《Ajax 对象 包含post和get两种异步传输方式》相关的同类信息!
  • 本页收集关于Ajax 对象 包含post和get两种异步传输方式的相关信息资讯供网民参考!
  • 推荐文章