从没打算怎么去兼容老版本IE,毕竟微软自己都放弃了,可是最近做好的东西在所有的IE下都会出问题:GetJson不执行

本来觉得挺简单的,度娘也给出了一大堆的解决方案,可惜,基本上都是在说缓存,实际上并没有什么卵用。

本身是要通过Yahoo Query Language去获取一个页面中的数据的,如果在所有的IE上都用不了,那的确是个问题。但比较奇怪的是,其他所有浏览器都几乎没有任何问题,直接请求雅虎的地址,然后就能取出结果。

于是一行一行的调试,状态码直接返回了0,于是有点怀疑是否是跨域的问题了。

通过在雅虎API的地址里面添加callback=?,再使用$.GetJson去请求,好了,问题解决。

 //Yahoo API
var user_count="(网络错误,加载失败)"; //商户数量
var yql_url="https://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20html%20where%20url=%27http://www.example.com%27&format=json&callback=?&env=store://datatables.org/alltableswithkeys/?random="+new Date().getTime();
$.getJSON(yql_url, function (data) {
try{
user_count=data.query.results.body.div[3].div.div.ul.li[0].div[0].h4.font;
}catch(e){};
//成功获取结果,并且页面加载完毕
$(function(){
//将结果追加到页面中
$(".user_count").html(user_count);
//如果成功获取,则放入cookie备用
if(user_count!="(网络错误,加载失败)"){
$.cookie('user_count', user_count, {expires: 1});
};
});
});

所以基本上改来改去,就兼容了个IE8,其他浏览器暂未测试,至少新版的浏览器是没问题了,至于其他老版本浏览器,反正初衷也只是为了解决所有IE下的问题,不弄了。

ajax跨域请求在IE8中存在的问题的更多相关文章

  1. Laravel中的ajax跨域请求

    最近接触Laravel框架ajax跨域请求的过程中遇到一些问题,在这里做下总结. 一开始发起ajax请求一直报500错误,搜索相关资料后发现Laravel要允许跨域请求可以加入Cors中间件,代码如下 ...

  2. php中ajax跨域请求---小记

    php中ajax跨域请求---小记   前端时间,遇到的一个问题,情况大约是这样: 原来的写法: 前端js文件中: $.ajax({ type:'get', url:'http://wan.xxx.c ...

  3. .Net Ajax跨域请求总结

    导语 之前写过一篇文章Ajax跨域请求COOKIE无法带上的解决办法,这两天正好好好的查了一下相关知识,做来总结一下 一.传统 ajax跨域访问是一个老问题了,解决方法很多,比较常用的是JSONP方法 ...

  4. JSONP实现Ajax跨域请求

    前言 由于浏览器存在同源策略的机制,所谓同源策略就是阻止从一个源(域名,包括同一个根域名下的不同二级域名)加载的文档或者脚本获取/或者设置另一个源加载的文档属性. 但比较特别的是:由于同源策略是浏览器 ...

  5. 浅谈linux 下,利用Nginx服务器代理实现ajax跨域请求。

    ajax跨域请求对于前端开发者几乎在任何一个项目中都会用到,众所周知,跨域请求有三种方式: jsonp; XHR2 代理: jsonp: 这种应该是开发中是使用的最多的,最常见的跨域请求方法,其实aj ...

  6. 解决ajax跨域请求 (总结)

    ajax跨域请求,目前已用几种方法实现:   1)用原生js的xhr对象实现.                var url="http://freegeoip.net/json/" ...

  7. $.ajax 跨域请求 Web Api

    WepApi确实方便好用,没有配置文件,一个apicontroller直接可以干活了.但今天用$.ajax跨域请求的时候总是获取不到数据,用fiddler一看确实抓到了数据,但回到$.ajax函数中, ...

  8. 浅析Ajax跨域原理及JQuery中的实现分析

    AJAX 的出现使得网页可以通过在后台与服务器进行少量数据交换,实现网页的局部刷新.但是出于安全的考虑,ajax不允许跨域通信.如果尝试从不同的域请求数据,就会出现错误.如果能控制数据驻留的远程服务器 ...

  9. JQuery的Ajax跨域请求原理概述及实例

    今天在项目中需要做远程数据加载并渲染页面,直到开发阶段才意识到ajax跨域请求的问题,隐约记得Jquery有提过一个ajax跨域请求的解决方式,于是即刻翻出Jquery的API出来研究,发 JQuer ...

随机推荐

  1. linq之多表连接

    1.左连接: var LeftJoin = from emp in ListOfEmployees join dept in ListOfDepartment on emp.DeptID equals ...

  2. 面试7 GC机制中如何判断一个对象是否任在使用

    GC 通过在使用的根引用遍历所有引用的对象实例,当一个对象不能被遍历时,将被视为不能被使用.

  3. POJ Georgia and Bob-----阶梯博弈变形。

    Georgia and Bob Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 6622   Accepted: 1932 D ...

  4. html-图像标签

    图像标签 <img src="图片的路径"/> -src:图片的路径 -width:图片的宽度 -height:图片的高度 -alt:图片上显示的文字,把鼠标移动到图片 ...

  5. drupal7 addExpression+union+分页

    global $user; $query_single = db_select('mp_order_singlepay', 'ms') ->fields('ms', array('order_i ...

  6. 热血沙城-3.2移植-古月-cocos2dx源码

    最近发现我去年学习2dx的时候移植过的一个游戏现在被放在网上出售 真是有点想笑 本人比较喜欢武侠风格的游戏,当时9秒开源了热血沙城 本着学习的态度 从2.1.2移植到3.2 用了一周的时间  中间各种 ...

  7. fuzz实战之honggfuzz

    Honggfuzz实战 前言 本文介绍 libfuzzer 和 afl 联合增强版 honggfuzz .同时介绍利用 honggfuzz 来 fuzz 网络应用服务. 介绍 honggfuzz 也是 ...

  8. mysql 字符串函数、分组函数

    字符串函数 1.concat 函数 drop table test;create table test(id int(4), name varchar(10), sex char(2));insert ...

  9. C++ 随机数字以及随机数字加字母生成

    #include <time.h>#include <sys/timeb.h>void MainWindow::slot_clicked(){ QString strRand; ...

  10. 关于p标签

    说p标签是不能嵌套div和p的,嵌套会被浏览器解析分离.但如果你使用了document.createElement创建div,再appendChild的话反而可以了.看来浏览器并不支持动态解析