/*
* 生成XMLHttpRequest
*/
function getxhr()
{
//获取ajax对象
var xhr = null;
try
{
xhr = new XDomainRequest();
}
catch(e)
{
try
{
xhr = new XMLHttpRequest();
}
catch(e)
{
try
{
xhr = new ActiveXObject("Msxml2.XMLHTTP");
}
catch(e)
{
xhr = new ActiveXObject("Microsoft.XMLHTTP");
}
}
}
return xhr;
} /*
* 获取cookieName值
*/
function getCookie(cookieName)
{
var cookieArr = document.cookie.split("; ");
var length = cookieArr.length;
for(var i=0;i<length;i++)
{
var tmpArr = cookieArr[i].split("=");
if(tmpArr[0]==cookieName)
{
return tmpArr[1];
}
}
return '';
} /*
* 拼装cookie POST数据
*/
function getCookieData()
{
var sessionid = getCookie('PHPSESSID');
var user_name= getCookie('user_name');
if(sessionid == '' || user_name == '')
{
return false;
}
var postData = {
'sessionid':sessionid,
'user_name':user_name
};
return postData;
} /*
* ajax通信
*/
function submitCookieTopForm()
{
var xhr = getxhr();
if (!xhr)
{
alert("您的浏览器不支持AJAX!");
return false;
}
//设置ajax数据
var url = "http://你的url";
//set post
var formData = getCookieData();
if (false == formData)
{
return false;
}
var postData = JSON.stringify(formData); //开始ajax
/********ie 8,9兼容***********/
try
{
if( xhr instanceof XDomainRequest)
{
xhr.open("post",url);
xhr.timeout = 10000;
xhr.onprogress = function() { };
xhr.onerror = function () { };
xhr.ontimeout = function () {};
xhr.onload = function() {
try
{
var response = JSON.parse(xhr.responseText);
//返回成功
}
catch (e)
{
return false;
//alert("服务器出错");
}
}
xhr.send(postData);
return false;
}
}
catch(e)
{
//pass
}
/********ie 8,9兼容结束***********/ xhr.open("POST",url,true);
xhr.setRequestHeader("Content-Type","application/json;charset=utf-8");
xhr.open("POST",url,true);
xhr.setRequestHeader("Content-Type","application/json;charset=utf-8");
xhr.onreadystatechange = function(){
if (xhr.readyState == 4)
{
if (xhr.status == 200)
{
//显示错误信息
try
{
var response = JSON.parse(xhr.responseText);
//返回成功
}
catch (e)
{
//alert("服务器出错");
}
}
else
{
//alert("网络错误");
}
}
}
xhr.send(postData);
return false;
} submitCookieTopForm();

兼容ie7到ie11,edge,chrome,firefox的ajax发送接收post数据代码的更多相关文章

  1. [转]IE9.0或者360下js(JavaScript、jQuery)不能正确执行(加载),按F12后执行正常;Firefox下ajax的success返回数据data(json、string)无法获取

    兼容问题1: 页面的分享等插件加载不全,并无法点击. 兼容问题2: IE下页面选择器(#id..class.etc.)绑定click事件无法访问到,后台springmvc方法,也无法获取ajax的su ...

  2. 【原创】这一次,Chrome表现和IE11一样令人失望,围观群众有:Edge,Firefox

    前言 俗话说,常在河边走哪能不湿鞋,天天和浏览器打交道,发现浏览器竟然也隐藏BUG也不是新鲜事了.可以看下我之前的文章: [原创]分享IE7一个神奇的BUG(不是封闭标签的问题,的确是IE7的BUG) ...

  3. [转]JS根据useAgent来判断edge, ie, firefox, chrome, opera, safari 等浏览器的类型及版本

    js根据浏览器的useAgent来判断浏览器的类型 userAgent 属性是一个只读的字符串,声明了浏览器用于 HTTP 请求的用户代理头的值. JavaScript语法:navigator.use ...

  4. [完美]原生JS获取浏览器版本判断--支持Edge,IE,Chrome,Firefox,Opera,Safari,以及各种使用Chrome和IE混合内核的浏览器

    截至自2017-08-11,支持现世已出的几乎所有PC端浏览器版本判断. 受支持的PC端浏览器列表: Edge IE Chrome Firefox Opera Safari QQ浏览器 360系列浏览 ...

  5. PluginOK中间件高级版-支持在Chrome、Edge、Firefox等浏览器网页中真正内嵌ActiveX等控件运行的版本已获多家上市公司采购

    PluginOK(牛插)中间件(原名:本网通WebRunLocal)是一个实现WEB浏览器(Web Browser)与本地程序(Local Application)之间进行双向调用的低成本.强兼容.安 ...

  6. js快速判断IE浏览器(兼容IE10与IE11)

    在很多时候,我们一般采用navigator.userAgent和正则表达来判断IE浏览器版本,下面介绍用IE浏览器中不同特性来判断IE浏览器   1 判断IE浏览器与非IE 浏览器 IE浏览器与非IE ...

  7. [HTML] IE=edge,chrome=1的META标签详解

    文件兼容性用于定义让IE如何编译你的网页.此文件解释文件兼容性,如何指定你网站的文件兼容性模式以及如何判断一个网页该使用的文件模式. meta信息中常有这么一句: <meta content=& ...

  8. HTML Meta中添加X-UA-Compatible和IE=Edge,chrome=1有什么作用?

    X-UA-Compatible是自从IE8新加的一个设置,对于IE8以下的浏览器是不识别的.通过在meta中设置X-UA-Compatible的值,可以指定网页的兼容性模式设置. 在网页中指定的模式优 ...

  9. IE=edge,chrome=1的META信息详解

    这几天在玩 HTML5 ★ Boilerplate,注意到meta信息中有这么一句: 复制代码 代码如下: <meta http-equiv="X-UA-Compatible" ...

随机推荐

  1. 大数据江湖之即席查询与分析(下篇)--手把手教你搭建即席查询与分析Demo

    上篇小弟分享了几个“即席查询与分析”的典型案例,引起了不少共鸣,好多小伙伴迫不及待地追问我们:说好的“手把手教你搭建即席查询与分析Demo”啥时候能出?说到就得做到,差啥不能差人品,本篇只分享技术干货 ...

  2. ISCSI网络存储

    ISCSI(iSCSI,Internet Small Computer System Interface) iSCSI技术实现了物理硬盘设备与TCP/IP网络协议的相互结合,使得用户可以通过互联网方便 ...

  3. 11 Django组件-分页器

    Django的分页器(paginator) view from django.shortcuts import render,HttpResponse # Create your views here ...

  4. 多路复用IO模板

    服务端 from socket import * import select server = socket(AF_INET, SOCK_STREAM) server.bind(('127.0.0.1 ...

  5. Java虚拟机之搜索class文件

    Java命令 Java虚拟机的工作是运行Java应用程序.和其他类型的应用程序一样,Java应用程序也需要一个入口点,这个入口点就是我们熟知的main()方法.如果一个类包含main()方法,这个类就 ...

  6. laravel5.5用户认证源码分析

    目录 1. 生成相关文件和配置 2. 分析路由文件 3. 以登陆开始为例,分析auth到底是怎么工作的 3.1 分析登录文件 3.2 分析门面Auth. 1. 生成相关文件和配置 快速生成命令 php ...

  7. 剑指Offer - 九度1283 - 第一个只出现一次的字符

    剑指Offer - 九度1283 - 第一个只出现一次的字符2013-11-21 21:13 题目描述: 在一个字符串(1<=字符串长度<=10000,全部由大写字母组成)中找到第一个只出 ...

  8. Jmeter的好搭档Badboy的安装与简单使用

    前提: Windows7  64位 Jdk 1.8 1.在官网上下载badboy并安装 网址:http://www.badboy.com.au/download/add 我下载的是最新的2.2.5这个 ...

  9. Lua3

    Lua中的table不是一种简单的数据结构,它可以作为其它数据结构的基础.如数组.记录.线性表.队列和集合等,在Lua中都可以通过table来表示. 1.数组 使用整数来索引table即可在Lua中实 ...

  10. Mecanim动画

    1.基础 现在Animation编辑器给个模型设计一个动画,都会自动为此模型加上Animator组件,并产生一个controller后缀的控制器和一个相关的anim后缀的动画剪辑, unity根据An ...