发新贴  快速回复

jquery中ajax请求在谷歌、360、IE10、IE11高版本没问题。IE8-9挂的问题

WE9571585
2018-07-31 14:04

现在有这么一个问题,我ajax请求数据。最开始就用谷歌测的,最后让我兼容,我已经把很多的let改成了var,规避也很多。

但是现在遇见一个最大的问题。我百度了好多都试了。希望能帮忙给看下,代码我就不说了。代码这方面应该没问题,

这是第一个请求

var headerData = setajax(JSON.stringify(reqData(BP_ID_TYPE,BP_NAME,BP_ID_NUMBER,USER_ID)),"authorize",null,null)
 
 
我在谷歌等IE高版本浏览器一点事都没有。就IE9开始挂掉了。也不报错直接进error
 
 
 
我百度了很多,
<meta http-equiv="X-UA-Compatible" content="IE=9; IE=8; IE=7; IE=EDGE">设置了
jQuery.support.cors = true加了
请求的服务端设置 header("Content-type: text/html; charset=utf-8"); header('Access-Control-Allow-Origin: *');也设置了
确实想不到怎么处理了。
也看到了ie设置点击IE浏览器的的“工具->Internet 选项->安全->自定义级别”将“其他”选项中的“通过域访问数据源”选中为“启用”或者“提示”,点击确定  这个是可以的 ,这个我设置了之后ie8ie9就可以了。目前我的兼容性问题就这一个 卡死在这里了。希望得以处理。感谢
讲师-kimoo

同学你好,

可以先看下 ,network 中请求是否发送了.

如果请求没有发送说明jq ajax请求方式有问题,

如果发送了 , 再看下请求报错显示些什么

2018-07-31 14:31  回复本帖
WE9571585

讲师-kimoo 2018-07-31 14:31发表的内容:

同学你好,

可以先看下 ,network 中请求是否发送了.

如果请求没有发送说明jq ajax请求方式有问题,

如果发送了 , 再看下请求报错显示些什么

没有发送,直接error
2018-07-31 14:33  回复本帖
 
2017年2月8日

是不是跨越问题啊,如果是,这个跟jq没有关系。虽然你后台设置了header('Access-Control-Allow-Origin: *');,但是这个是新版的ajax才支持的,在ie低版本还是要用其它的方式才可以跨域,ie下有个和XMLHTTPRequest一样的对象,也是做ajax的,但是jq用的不是这个,所以ie下有跨域问题。关于怎么跨域,这个就不是jq能解决的了,你用其它的ajax库也一样,ie低版本用XMLHTTPRequest就是无法跨域。

 

如果你的问题不是跨域引起的,那就把代码发出来吧,截几个图不大好找原因。

2018-07-31 14:43  回复本帖
WE9571585

附件在这里。不是本地运行不了。您麻烦给看下代码问题把。

附件下载:
 
2018-07-31 14:49  回复本帖
WE9571585

2017年2月8日 2018-07-31 14:43发表的内容:

是不是跨越问题啊,如果是,这个跟jq没有关系。虽然你后台设置了header('Access-Control-Allow-Origin: *');,但是这个是新版的ajax才支持的,在ie低版本还是要用其它的方式才可以跨域,ie下有个和XMLHTTPRequest一样的对象,也是做ajax的,但是jq用的不是这个,所以ie下有跨域问题。关于怎么跨域,这个就不是jq能解决的了,你用其它的ajax库也一样,ie低版本用XMLHTTPRequest就是无法跨域。

 

如果你的问题不是跨域引起的,那就把代码发出来吧,截几个图不大好找原因。

是的,我这边测试了就是跨域问题,我也觉得您说的比较在理。目前我本地修改ie的通过域访问数据源之后ie89都可以了。但是不能让用户去修改。所以希望能够帮忙看下这个跨域怎么去结局。谢谢
2018-07-31 14:51  回复本帖
 
2017年2月8日

WE9571585 2018-07-31 14:51发表的内容:

是的,我这边测试了就是跨域问题,我也觉得您说的比较在理。目前我本地修改ie的通过域访问数据源之后ie89都可以了。但是不能让用户去修改。所以希望能够帮忙看下这个跨域怎么去结局。谢谢
jsonp可以解决跨域,但是jsonp不是用ajax实现,在很多方面有局限性。如果非要用ajax,目前百度上大家都推荐用Nginx反向代理来解决跨域的问题。这个你搜搜,如果不懂后台,问下后台的,他们一下就懂,前端不需要管这些。还有不建议php直接设置header('Access-Control-Allow-Origin: *');不大好,这样人人都可以访问。
2018-07-31 16:42  回复本帖
WE9571585

2017年2月8日 2018-07-31 16:42发表的内容:

jsonp可以解决跨域,但是jsonp不是用ajax实现,在很多方面有局限性。如果非要用ajax,目前百度上大家都推荐用Nginx反向代理来解决跨域的问题。这个你搜搜,如果不懂后台,问下后台的,他们一下就懂,前端不需要管这些。还有不建议php直接设置header('Access-Control-Allow-Origin: *');不大好,这样人人都可以访问。
您好,可否加下您的微信探讨下这方面的问题
2018-08-01 09:40  回复本帖
 
2017年2月8日

WE9571585 2018-08-01 09:40发表的内容:

您好,可否加下您的微信探讨下这方面的问题
跨域这些只能百度上找方法,大体就是那几种,而且这些多数都不是由前端来解决的,只要保证请求的地址在同一域名下,就不会有跨域了,如果非要请求别人的域名,那么就要用其它方法来解决,学后台的人肯定懂, 前端不懂能接受,我后台也不懂。固加我微信也没有用。还不如在这里说。
2018-08-01 10:21  回复本帖
WE9571585

2017年2月8日 2018-08-01 10:21发表的内容:

跨域这些只能百度上找方法,大体就是那几种,而且这些多数都不是由前端来解决的,只要保证请求的地址在同一域名下,就不会有跨域了,如果非要请求别人的域名,那么就要用其它方法来解决,学后台的人肯定懂, 前端不懂能接受,我后台也不懂。固加我微信也没有用。还不如在这里说。
谢谢 麻烦您了
2018-08-01 11:42  回复本帖
登录 后才可以发表回复