http://www.sufeinet.com/plugin.php?id=keke_group

苏飞论坛

 找回密码
 马上注册

QQ登录

只需一步,快速开始

分布式系统框架(V2.0) 轻松承载百亿数据,千万流量!讨论专区 - 源码下载 - 官方教程

HttpHelper爬虫框架(V2.7-含.netcore) HttpHelper官方出品,爬虫框架讨论区 - 源码下载 - 在线测试和代码生成

HttpHelper爬虫类(V2.0) 开源的爬虫类,支持多种模式和属性 源码 - 代码生成器 - 讨论区 - 教程- 例子

查看: 4913|回复: 0

[Jquery] jquery ajax 在ie下面没有调用的原因

[复制链接]
发表于 2012-10-17 15:04:17 | 显示全部楼层 |阅读模式
天发现jquery 1.7.2 在ie8下面的没有调用$.get()方法。1,然后各种调试,最后发现:把ie把关了,再打开$.get()。会调用,再第二次调用的用的时候发现又不行了。于是我推断是ie缓存的问题,把ie缓存清除后,果然可以了。但是客户不可能知道清理缓存。所以只能自己想办法了
在网上发现各大朋友都给了个方法就是用jquery自带的方法:
[HTML] 纯文本查看 复制代码
$.ajaxSetup({cache: false });

外还有分析是,ie是根据请求的url是不是一样来是否发送请求,对于同一请求,ie只发送一次http请求,所以同一请求发送多次,但ie实际是不会发送的。
有了这个原因:那么就好办了,可以在url后面加个时间戳。
[HTML] 纯文本查看 复制代码
$.get(
    "imgsUpload",
    {imgsPath:path,timeStamp: new Date().getTime()},
    function(data){
     
    }
);

2,以下问题就是个人问题了,但是请求是能发送到后台了,并且也执行了,也返回了.但是不能执行ajax的回调方法。
但在其它浏览器是正常的。分析返回过来的data,发现乱七八糟的。那就是返回时的数据类型不对,我返回的json,但是我想都是以字符串形式返回的,所以我在服务器端有如下代码:
[HTML] 纯文本查看 复制代码
response.setContentType("text/plain;charset=UTF-8");

ff,chrome是正常的,但是ie去只能把识别为text,不能解析成json,所有没有调用ajax的回调方法
经过测试发现,可以不用设置消息头,当然要设置也是可以的,但是不是text/plain,而是:
[HTML] 纯文本查看 复制代码
response.setContentType("application/json;charset=UTF-8");

以上问题应该是很简单的问题,但是好朋友竟然不知道,而且问题综合在一起了很难发现,特此做笔记。


1. 开通SVIP会员,免费下载本站所有源码,不限次数据,不限时间
2. 加官方QQ群,加官方微信群获取更多资源和帮助
3. 找站长苏飞做网站、商城、CRM、小程序、App、爬虫相关、项目外包等点这里
您需要登录后才可以回帖 登录 | 马上注册

本版积分规则

QQ|手机版|小黑屋|手机版|联系我们|关于我们|广告合作|苏飞论坛 ( 豫ICP备18043678号-2)

GMT+8, 2024-11-23 01:20

© 2014-2021

快速回复 返回顶部 返回列表