首页 新闻 会员 周边

ajax post跨域一直出现已阻止跨源请求:同源策略禁止读取位于 http://192.168.17.225:8080/suyh/app/3/login 的远程资源。(原因:CORS 头缺少 'Access-Control-Allow-Origin')。

0
悬赏园豆:50 [已解决问题] 解决于 2016-12-21 10:04

求大神解决,整了两天还没搞定!!跪求!!!!!!

醉帝灬的主页 醉帝灬 | 初学一级 | 园豆:114
提问于:2016-12-19 14:54
< >
分享
最佳答案
0

跨域是个大问题啊。你这个描述的都不清楚,也不知道你服务端配置了跨域设置没。

大致说下,不一定是你遇到的问题。

我这遇到过无法返回Access-Control-Allow-Origin头。我这的问题是:前端提交ajax时候用的类型是application/json,发送post请求前会先发送一个预请求,就是option请求。因为服务器端没有正确配置处理option请求,可能导致option请求不通过,或者option请求通过了,但是没有返回Access-Control-Allow-Origin头,导致不能继续发送post请求。

我这是在web.config中这样配置的,iis7以上:

 <handlers> <!--此处处理options请求。或去iis里面删除、添加上动作添加上OPTIONS-->
      <remove name="OPTIONSVerbHandler" />
      <remove name="ExtensionlessUrlHandler-Integrated-4.0" />
      <add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="*" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" />
    </handlers>

 

收获园豆:30
开山怪不怪 | 小虾三级 |园豆:544 | 2016-12-19 17:47

非常感谢

醉帝灬 | 园豆:114 (初学一级) | 2016-12-21 10:04
其他回答(4)
0

跨域问题用jsonp啊

让我发会呆 | 园豆:2929 (老鸟四级) | 2016-12-19 15:03

是Post请求不能Jsonp

支持(0) 反对(0) 醉帝灬 | 园豆:114 (初学一级) | 2016-12-19 15:49
0

你服务器是啥框架.搜一下对应的cors功能.开启下就好.

jsonp不能post.

吴瑞祥 | 园豆:29449 (高人七级) | 2016-12-19 15:04

好的我试试!!!谢谢

支持(0) 反对(0) 醉帝灬 | 园豆:114 (初学一级) | 2016-12-19 15:49
0

供参考http://www.cnblogs.com/xinxingyu/p/6075881.html

ycyzharry | 园豆:25653 (高人七级) | 2016-12-19 17:26
0

 

在Server端被请求的Response header中加入:

// 指定允许其他域名访问
header('Access-Control-Allow-Origin:*');
// 响应类型
header('Access-Control-Allow-Methods:POST');
// 响应头设置
header('Access-Control-Allow-Headers:x-requested-with,content-type');

就可以实现ajax POST跨域访问了。

那个*的位置最好替换成指定的地址,这样更安全。

收获园豆:20
CaiYongji | 园豆:1267 (小虾三级) | 2016-12-20 17:33

谢谢  已解决

支持(0) 反对(0) 醉帝灬 | 园豆:114 (初学一级) | 2016-12-21 10:03
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册