首页 新闻 会员 周边

jquery,ajax已成功,并且status为success,为何得到的结果集是false?

0
悬赏园豆:100 [待解决问题]

jquery,ajax已成功,并且status为success,为何得到的结果集是false?

jquery,ajax请求得到json数据,并且此时status为success,但是在safari浏览器下,返回的结果中 竟然是 false,其他浏览器没有问题,有大神遇到过类似情况么?

各个浏览器中都能success,但是为什么只有safari下,虽然成功了,但结果集却返回了false

糖糖果的主页 糖糖果 | 初学一级 | 园豆:102
提问于:2015-06-18 11:14
< >
分享
所有回答(10)
0

FYI

http://grayrabbit.iteye.com/blog/1387679

Yu | 园豆:12980 (专家六级) | 2015-06-18 11:28

这个好像和题目不符合吧。。。就是用的原生的jquery,和那个没有关系

支持(0) 反对(0) 糖糖果 | 园豆:102 (初学一级) | 2015-06-18 13:23
0

你确定你用safari的时候服务器返回的是success么,浏览器收到的却是false?

羽商宫 | 园豆:2490 (老鸟四级) | 2015-06-18 13:38

我确定,我调试已经执行到 success,并且status=success,也没有超时什么的

但是 得到的json数据就返回false;而且我试了一下,如果减少返回json的长度,就能正确返回

所以在想是不是 safari有什么返回字符串的限制什么的?

但是 网站找了好久,也没此问题的说明了

支持(0) 反对(0) 糖糖果 | 园豆:102 (初学一级) | 2015-06-18 14:52

而且,我拿到请求的url,直接在浏览器的地址栏输入后,是有结果的,但是调试js的时候,返回就是false,郁闷了。。。

支持(0) 反对(0) 糖糖果 | 园豆:102 (初学一级) | 2015-06-18 14:55

@糖糖果: 没听说过还有这个兼容问题。。。。把你的返回结果贴一下

支持(0) 反对(0) 羽商宫 | 园豆:2490 (老鸟四级) | 2015-06-18 15:01

@羽商宫: 其实返回结果很普通了,没什么特别,就是类似下面的

{"flag":0,"html":"<div class=xxx><span class=xxx > </span></div>"}

只不过 html内容比较长而已

而且我试了,把返回结果拿到,本地环境ajax请求,经过后台返回结果,不管是什么浏览器都能返回,safari下也不返回false了,很蛋疼了。。。

支持(0) 反对(0) 糖糖果 | 园豆:102 (初学一级) | 2015-06-18 15:35

@糖糖果: 是不是因为你的字符串中有html标签的原因。。。。所以当在线上的时候就会导致出现问题,而本地的时候就不会。。

支持(0) 反对(0) 羽商宫 | 园豆:2490 (老鸟四级) | 2015-06-18 16:10

@羽商宫: 不好意思了,回复晚了,,,我觉得也不是html标签的问题,因为我把返回结果中,的html字符串,获取的短一点的话,是可以正常的

支持(0) 反对(0) 糖糖果 | 园豆:102 (初学一级) | 2015-06-19 09:13
0

你可不要骗我~看请求的明细。

幻天芒 | 园豆:37175 (高人七级) | 2015-06-18 13:44

看过了的 ,是执行到success了,但是 就 safari浏览器返回false,其他的浏览器正常

支持(0) 反对(0) 糖糖果 | 园豆:102 (初学一级) | 2015-06-18 14:52

@糖糖果: 可以看看请求头,看看是不是接收的格式问题。

支持(0) 反对(0) 幻天芒 | 园豆:37175 (高人七级) | 2015-06-18 16:08

@幻天芒: 如果是接收格式的问题,但是 字符串变少的话,就能正常显示,所以在想safari下是不是有字符串的限制问题

支持(0) 反对(0) 糖糖果 | 园豆:102 (初学一级) | 2015-06-19 09:15

@糖糖果: 这个一步步验证就能确认。

支持(0) 反对(0) 幻天芒 | 园豆:37175 (高人七级) | 2015-06-19 09:24
0

 什么也别说了, 上代码吧!

请叫我头头哥 | 园豆:9382 (大侠五级) | 2015-06-18 15:44

谢谢关注,稍等

支持(0) 反对(0) 糖糖果 | 园豆:102 (初学一级) | 2015-06-19 09:14
0

我就来看看的 解决了么

小熊QQ糖 | 园豆:152 (初学一级) | 2015-06-18 17:57

谢谢关注,稍等

支持(0) 反对(0) 糖糖果 | 园豆:102 (初学一级) | 2015-06-19 09:14
0

 什么也别说了, 上代码上调试图吧!

羅睺 | 园豆:204 (菜鸟二级) | 2015-06-18 18:30

谢谢关注,稍等

支持(0) 反对(0) 糖糖果 | 园豆:102 (初学一级) | 2015-06-19 09:14
0

按照lz的说法基本上一切可能性都排除了.

xmodygetz | 园豆:575 (小虾三级) | 2015-06-19 09:33

  建议加上error.察看是否出现了错误.

服务段是否做了限制.

支持(0) 反对(0) xmodygetz | 园豆:575 (小虾三级) | 2015-06-19 09:35
0

{"flag":0,"html":"<div class="xxx"><span class="xxx" > </span></div>"}

这是你的返回结果???那么你所说的status=success应该只是ajax请求的返回状态吧,最好还是把返回值改改,可以返回类似

{"status":"success","flag":0,"html":"<div class="xxx"><span class="xxx" > </span></div>"}

返回函数用complete,如果这样得到的status=success那才真的是success

psforever | 园豆:461 (菜鸟二级) | 2015-06-19 16:42
0

是返回的数据中解析出来的是false吗?

要不加个JSON.stringify(data)解析一下试试?

hexllo | 园豆:318 (菜鸟二级) | 2015-06-21 15:35
0

safari 不支持 ajax....或者 safari 需要特殊处理,

Постой! | 园豆:1084 (小虾三级) | 2015-06-23 11:32

Mozilla/5.0 (iPhone; CPU iPhone OS 5_0 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Version/5.1 Mobile/9A334 Safari/7534.48.3


Mozilla/5.0 (Linux; U; Android 2.3.7; zh-cn; HTC Desire Z Build/MIUI) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1


这个是抓包知道的浏览器,这两个不支持。

支持(0) 反对(0) Постой! | 园豆:1084 (小虾三级) | 2015-06-23 11:35
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册