/*
* 生成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. SpringMVC---applicationContext.xml配置详解

    <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.sp ...

  2. SpringMVC---简单登录例子

    所需jar包aopalliance-1.0.jar.commons-logging-1.2.jar.spring-aop-5.0.0.RELEASE.jar.spring-beans-5.0.0.RE ...

  3. 4525: [Cerc2012]Kingdoms

    4525: [Cerc2012]Kingdoms 题意 n个国家,两两之间可能存在欠债或者被欠债的关系,一个国家破产:其支出大于收入.问一个国家能否坚持到最后. 思路 很有意思的一道题. dp[s]表 ...

  4. android gridview 停止滚动

    http://blog.csdn.net/yaphetzhao/article/details/50544105 参考上面的博客,关键代码我就贴出来吧: public void stopGridVie ...

  5. ElasticSearch学习笔记(三)-- 查询

    1. URISearch详解与演示 2. QueryDSL简介 3. 字段类查询简介及match-query 4. 相关性算分 5. match-phrase-query 6. query-strin ...

  6. css3 3D

    开通黄钻 Css3 -3D效果<!DOCTYPE html><html lang="en"><head> <meta charset=&q ...

  7. laravel5.5路由使用name的好处

    使用name的好处 辅助函数 route 可以用于为指定路由生成 URL.命名路由生成的 URL 不与路由上定义的 URL 相耦合.因此,就算路由的 URL 有任何更改,都不需要对 route 函数调 ...

  8. 找出Xcode没有使用的图片

    #! /bin/sh PROJ=`find . -name '*.xib' -o -name '*.[mh]'` for png in ` find . -name '*.png'` do name ...

  9. UIView和CALayer是什么关系?

    UIView显示在屏幕上归功于CALayer,通过调用drawRect方法来渲染自身的内容,调节CALayer属性可以调整UIView的外观,UIView继承自UIResponder,比起CALaye ...

  10. 常用doc 命令

    开始-->运行 regedit 进入注册表补充些: 1. gpedit.msc-----组策略 2. sndrec32-------录音机 3. Nslookup-------IP地址侦测器 4 ...