var xmlHttp;
var ajaxRequest = function (params) {
xmlHttp ={};
this.url = params.url;
this.method = params.method;
this.dataType = params.dataType;
this.formData = params.formData;//string 仅用于post this.init = function(){
if (window.XMLHttpRequest)
{
// IE7+, Firefox, Chrome, Opera, Safari 浏览器执行代码
xmlHttp=new XMLHttpRequest(); }
else
{
// IE6, IE5 浏览器执行代码
xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
} xmlHttp.onreadystatechange = function()
{
//这里总是无法调用this.xmlHttp 干脆改成全局变量了
if (xmlHttp.readyState== && xmlHttp.status==)
{ document.getElementById("myDiv").innerHTML=xmlHttp.responseText;
}
}
xmlHttp.open(this.method, this.url, true);
xmlHttp.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');
//xmlHttp.setRequestHeader('Content-length', this.formData.length);
//xmlHttp.setRequestHeader("Referer", "http://www.baidu.com");
//xmlHttp.setRequestHeader('Connection', 'close'); return true; }; this.send = function(){
if(this.init()){
console.log(this.formData);
xmlHttp.send(this.formData);
}
}; };
var FormData = function(){
this.data = '' ;
this.append = function(key,val){
if(typeof key == 'string' && typeof val == 'string')
this.data += key + '=' + val;
}
this.batchAppend = function(a){
if(typeof a == 'array' || typeof a == 'object')
{
for(var i in a)
{
if(typeof a[i] == 'string')
{
this.data += i + '=' + a[i] + '&';
} }
this.data = this.data.substr(,this.data.length-);
}
} return this.data; }
var data = new FormData();
data.append('user', 'sachin');
//data.batchAppend({'fdf':'1313','8':'5454'});
var params = {
url : 'http://localhost/test/test.php?b=234234',
method : 'GET',
dataType: 'text',
formData : data
};
//console.log(data);
var request = new ajaxRequest(params);
request.send();

ajax请求封装的更多相关文章

  1. jQuery-实现简单的Ajax请求封装

    封装的意义在于复用,在于减少重复的代码. 我在项目中做了简单的Ajax请求封装,实现方式如下: //封装Ajax请求 $.extend({ ajaxDirect:function(url,type,d ...

  2. ajax请求封装函数

    写封装函数的套路 1.先写出这个函数原来的基本用法 2.写一个没有形参空函数,将上一步的代码直接作为函数体, 3.根据使用过程中,抽象出来需要变的东西作为形参 function ajax (metho ...

  3. ajax请求封装的公共方法

    /** * post 方法 */ function ajaxPost(url, params, callBack) { ajax(url,params,"post",callBac ...

  4. React后台管理系统-ajax请求封装

    1.新建文件夹 util , 在util里边新建 mm.jsx文件 2.使用jquery里边的ajax发送请求,回调用promise,返回一个promise对象 request(param){     ...

  5. 原生AJAX请求教程

    ajax 即 Asynchronous Javascript And XML,AJAX 不是一门的新的语言,而是对现有持术的综合利用.本质是在 HTTP 协议的基础上以异步的方式与服务器进行通信. 异 ...

  6. 为非ajax请求绑定回调函数的方法

    我们都知道jQuery为ajax请求封装了success和error两个回调方法,其实jQuery也实现了为非ajax请求的普通方法也设计了绑定回调函数的方法. 当一个方法需要等待另一个耗时很长的方法 ...

  7. 原生 ajax 请求

    ajax 即 Asynchronous Javascript And XML,AJAX 不是一门的新的语言,而是对现有持术的综合利用.本质是在 HTTP 协议的基础上以异步的方式与服务器进行通信. 异 ...

  8. ajax请求的封装

    前端的工作,免不了要用到交互,请求后端的数据,可能大多人一直选择用jq封装好的方法直接使用,要知道封装这个事我们自己也可以的,今天给大家介绍一种封装方法,而且连跨域问题都不在话下,有了这个函数,是不是 ...

  9. 封装的ajax请求

    在做登录注册这类提交表单数据时,我们经常需要局部刷新网页来验证用户输入的信息,这就需要用到ajax请求,我们通常需要获取表单中的数据,发起ajax请求,通过服务程序,与数据库的数据进行比对,判断信息的 ...

随机推荐

  1. 没想到cnblog也有月经贴,其实C#值不值钱不重要。

    呵呵,就不倚老卖老了,从basic走过来,一路经历vb,vf,delphi,C#,php,asp,html,js,css,太多太多的开发语言,包括面向对象编程思想,语义化页面结构等等,除了高级的编程技 ...

  2. cocos2dx day 2 - Sprites

    1.Sprite 对sprite设置anchor point,对应的位置 // DEFAULT anchor point for all Sprites mySprite->setAnchorP ...

  3. eclipse 断点使用深入技能

    原文:http://blog.jobbole.com/26435/ 摘要:调试不仅可以查找到应用程序缺陷所在,还可以解决缺陷.对于Java程序员来说,他们不仅要学会如何在Eclipse里面开发像样的程 ...

  4. Crypto++ RSA从字符串读取公私匙

    string and StringSource (load): string spki = ...; StringSource ss(spki, true /*pumpAll*/); RSA::Pub ...

  5. Doxygen给C程序生成注释文档

    近段时间,一直在学习华为C语言编程规范(2011版),在“注释”这一章中发现了一种“Doxygen”的注释转文档工具,查看诸多相关资料,并进行编程实践,终于可以利用Doxygen给C程序生成注释文档. ...

  6. Python-10 字典

    #1 创建 dict1={'欢欢':'i love','小高高':'you'} dict2={1:'one',2:'two',3:'three'} dict3={} #2 访问元素 print('欢欢 ...

  7. R语言向量

    R语言基础:向量  心无咎 2012-04-02 13:37:00 向量(vector)1.seq():产生有规律的数列,间距省略时默认值为1.        例1:seq(10, 20, 0.5)  ...

  8. Birt导出Excel图片

    有一段时间没有使用Birt了,最近突然之间发现新版的Birt可以支持导出Excel附带图片.我目前下载的是Birt 4.3版本的,导出图片的也只能在Excel 2007下面能够实现,2003的xls格 ...

  9. c#修改config中的AppSettings属性

    Configuration cfa = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None); cfa.AppS ...

  10. mysql设置外网访问

    公司有个mysql的数据库放在221服务器上,做手机app数据库连接的时候,本地调试没问题,一旦更新到外网142手机服务器(220.230.190.142),就是数据库连接超时.想到可能是mysql没 ...