浏览器跨域设置|ie跨域设置

浏览器跨域设置|ie跨域设置

1. ie跨域设置

工具: IE浏览器 方法如下:

1、打开IE浏览器,在工具菜单下选择Internet选项,打开Internet选项卡

2、切换到安全选项卡下,点击可信站点,然后单击站点按钮

3、可信站点窗口输入网址到可信站点的区域,点击添加按钮,网址则会添加到网站列表下,最后关闭可信站点窗口

4、还是在安全选项卡下的可信站点,点击自定义级别

5、打开站点区域窗口,找到跨域浏览窗口和框架选择启用

6、在当前窗口中继续往下翻,通过域访问数据源也选择启用,点击确定关闭受信任的站点区域窗口

7、在Internet窗口也点击确定按钮,同时关闭浏览器

8、在请求的js脚本中添加是否允许跨域访问的权限,jQuery.support.cors默认值为true,则代表允许;反之,不允许。设置完成,重新打开浏览器验证即可。

2. iis设置跨域

出现500 的错误 服务器遇到了一个未曾预料的状况,导致了它无法完成对请求的处理。一般来说,这个问题都会在服务器的程序码出错时出现。IOS HTTP请求的常见状态码总结

虽然出现这种原因是服务器的错误,我觉得服务器解析请求数据也有可能出现这个错误状态500,所以我从客服端入手。打印返回时的 response 里面的值为

:<NSHTTPURLResponse: 0x17003a900> { URL: 你的url地址 } { status code: 500, headers { "Cache-Control" = private "Content-Length" = 3306; "Content-Type" = "text/html; charset=utf-8"; Date = "Sun, 09 Oct 2016 07:45:13 GMT"; Server = "Microsoft-IIS/7.5"; "X-AspNet-Version" = "4.0.30319"; "X-Powered-By" = "ASP.NET"; } }

从中我们可以看到,返回类型不是json而是text/html类型

我们知道,在post请求是需要设置请求头数据类型,以上出错的请求我是这样设置的

[request setValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"Content-Type"];

这个设置方法是我从提交图片的网络请求方法拷贝过来的,即@"application/x-www-form-urlencoded"这个类型是提交图片的类型设置(提交图片时把提交图片参数转成NSData然后再转成base64的NSData提交)。而我的本次请求是提交json字符串的NSData类型。所以"Content-Type"的值设置成”application/json“即可。详解Http请求中Content-Type讲解以及在Spring MVC中的应用

我的解决方法是重新设置 如下:

[request setValue:@"application/json" forHTTPHeaderField:@"Content-Type"];

请求 response 大家可以和上面的做对比。

<NSHTTPURLResponse: 0x17403fe60> { URL: 你的url地址 } { status code: 200, headers { "Cache-Control" = private; "Content-Length" = 75; "Content-Type" = "application/json; charset=utf-8"; Date = "Sun, 09 Oct 2016 07:56:16 GMT"; Server = "Microsoft-IIS/7.5"; "X-AspNet-Version" = "4.0.30319"; "X-AspNetMvc-Version" = "4.0"; "X-Powered-By" = "ASP.NET"; } }

现在的 status code: 200, 解决了 500 错误的问题。出现这个错误也有可能后台对数据的处理错误,或者后台返回的数据类型和前端设置需要返回的类型冲突等。还是得具体问题具体分析

3. ie跨域解决办法

打开IE浏览器,在工具菜单下选择Internet选项,打开Internet选项卡切换到安全选项卡下,点击可信站点,然后单击站点按钮可信站点窗口输入网址到可信站点的区域,点击添加按钮,网址则会添加到网站列表下,最后关闭可信站点窗口还是在安全选项卡下的可信站点,点击自定义级别打开受信任的站点区域窗口,找到跨域浏览窗口和框架选择启用在当前窗口中继续往下翻,通过域访问数据源也选择启用,点击确定关闭受信任的站点区域窗口在Internet窗口也点击确定按钮,同时关闭浏览器在请求的js脚本中添加是否允许跨域访问的权限,jQuery.support.cors默认值为true,则代表允许;反之,不允许。设置完成,重新打开浏览器验证即可

4. 怎么设置跨域

cookie 跨域解决方法

1.Nginx 正向和反向代理的区别 正向代理和反向代理的区别:正向代理隐藏真实客户端,反向代理隐藏真实服务端。

2.cookie跨域问题 因为cookie存在跨域问题,其中一个解决方法是,设置Nginx代理服务器,将两个服务器域名统一到一个反向代理服务器。

5. ie允许跨域访问设置

假如在网站A下通过iframe或ajax调用B下的内容时,默认情况下IE会阻止B写任何Cookie//B里的被调用的页面需要写P3P头,从而解除IE对写Cookie的阻止 context.Response.AddHeader("P3P", "CP=CAO PSA OUR"); //A里通过ajax调用www.B.com

里的内容时,是跨域访问,需要使用jsonp,为配合其工作需要添加下面两句,生成jsonp返回 context.Response.ContentType = "text/plain"; context.Response.Write(string.Format("{0}('OK')", context.Request["callback"])); //jsonp调用进行跨域访问 jQuery.ajax({ url: url, type: 'GET', data: data, dataType: 'jsonp', success: function (data) { window.location.href = toURL; } });

推荐阅读