ajax请求封装
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请求封装的更多相关文章
- jQuery-实现简单的Ajax请求封装
封装的意义在于复用,在于减少重复的代码. 我在项目中做了简单的Ajax请求封装,实现方式如下: //封装Ajax请求 $.extend({ ajaxDirect:function(url,type,d ...
- ajax请求封装函数
写封装函数的套路 1.先写出这个函数原来的基本用法 2.写一个没有形参空函数,将上一步的代码直接作为函数体, 3.根据使用过程中,抽象出来需要变的东西作为形参 function ajax (metho ...
- ajax请求封装的公共方法
/** * post 方法 */ function ajaxPost(url, params, callBack) { ajax(url,params,"post",callBac ...
- React后台管理系统-ajax请求封装
1.新建文件夹 util , 在util里边新建 mm.jsx文件 2.使用jquery里边的ajax发送请求,回调用promise,返回一个promise对象 request(param){ ...
- 原生AJAX请求教程
ajax 即 Asynchronous Javascript And XML,AJAX 不是一门的新的语言,而是对现有持术的综合利用.本质是在 HTTP 协议的基础上以异步的方式与服务器进行通信. 异 ...
- 为非ajax请求绑定回调函数的方法
我们都知道jQuery为ajax请求封装了success和error两个回调方法,其实jQuery也实现了为非ajax请求的普通方法也设计了绑定回调函数的方法. 当一个方法需要等待另一个耗时很长的方法 ...
- 原生 ajax 请求
ajax 即 Asynchronous Javascript And XML,AJAX 不是一门的新的语言,而是对现有持术的综合利用.本质是在 HTTP 协议的基础上以异步的方式与服务器进行通信. 异 ...
- ajax请求的封装
前端的工作,免不了要用到交互,请求后端的数据,可能大多人一直选择用jq封装好的方法直接使用,要知道封装这个事我们自己也可以的,今天给大家介绍一种封装方法,而且连跨域问题都不在话下,有了这个函数,是不是 ...
- 封装的ajax请求
在做登录注册这类提交表单数据时,我们经常需要局部刷新网页来验证用户输入的信息,这就需要用到ajax请求,我们通常需要获取表单中的数据,发起ajax请求,通过服务程序,与数据库的数据进行比对,判断信息的 ...
随机推荐
- Laravel学习笔记(三)数据库 数据库迁移
该章节内容翻译自<Database Migration using Laravel>,一切版权为原作者. 原作者:Stable Host, LLC 翻译作者:Bowen Huang 正文: ...
- Git学习笔记(一)
1.git clone https://github.com/miguelgrinberg/flasky.git cd flasky git checkout 1a 2.git reset --har ...
- openlayers中实现自定冒泡的效果
自定义的Openlayers.Popup.FreshCloud继承自Openlayers.Popup.Framed,实现了比较简洁的冒泡效果,详细代码如下 /** * Class: OpenLayer ...
- 在 Hibernate 中出现 database product name cannot be null 时怎么解决?
今 天在做一个SH项目结合的时候忽然出现了,这样的错误,我开始也不知道怎么办,便上网查,看一些高手回答都是说,检查 hibernate.cfg.xml 这个配置文件,或是一些其它的配置,于是我便看了一 ...
- tiny4412学习一:编译uboot,体验裸机
首先,我们在ubuntu建立一个自己的文件夹,我的是: /home/wang/tiny_4412下有 datasheet shc(原理图PCB文件夹) src tools src下有 codes ...
- c# 获取某日期所在周的第一天和最后一天
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace WyfC ...
- Unity已经学会的
1.以MonoBehaviour为脚本的开发模式. 2.MonoBehaviour的大多数API. 3.动画系统大多数了解. 4.UI了解一些,能写UI. 5.Editor了解一些,能写Editor. ...
- mybatis执行批量更新update
Mybatis的批量插入这里有http://ljhzzyx.blog.163.com/blog/static/38380312201353536375/.目前想批量更新,如果update的值是相同的话 ...
- python Tornado(招聘的一个比较经常问到的知识)
Tornado既是一个webserver也是一个web框架 这是一个总结的比较详细的内容 http://www.nowamagic.net/academy/detail/1332612 开源中国中的关 ...
- Java入门记(五):容器关系的梳理(下)——Map
注意:阅读本文及相关源码时,需要数据结构相关知识,包括:哈希表.链表.红黑树. Map是将键(key)映射到值(value)的对象.不同的映射不能包含相同的键:每个键最多只能映射到一个值.下图是常见M ...