javascript - jquery 跨域 $.ajax() 非jsonp方式
巴扎黑
巴扎黑 2017-04-10 17:35:27
[JavaScript讨论组]

cors方式跨域

服务端 Access-Control-Allow-Origin 此属性设置特定域名的时候可以跨域。

设置*的时候不可以。

是jquery的$.ajax()方式不支持吗?

巴扎黑
巴扎黑

全部回复(10)
怪我咯

感觉楼上都没有说到点子上。

Access-Control-Allow-Origin的值可以是单个或者多个特定域名,或者通配符*。

一般情况下,这就够了,题主是ajax跨域,除了后端配置相应的返回头之外(楼上很多都说了),前端也需要相应的请求头。

$.ajax({
  url: 'xxxxxxx',
  type: 'POST',
  dataType: 'json',
  success: function(data) {
    console.log(data);
  },
  xhrFields: {
    withCredentials: true    // 此字段标识要跨域传数据
  },
  crossDomain: true
});

其中,如果跨域还需要传输数据(如cookie等)的话,还得额外的增加withCredentials字段。

最后来个大而全的文档 https://developer.mozilla.org...

大家讲道理

好像不支持通配符把,要写完整的链接 比如 http://www.baidu.com

伊谢尔伦

跟ajax方法没关系,是服务端的配置有问题

黄舟

服务器端改一下

PHP Ajax 跨域问题最佳解决方案

黄舟

跨域访问需要服务器端支持

PHP中文网

疑问已解决 cors跨域,ajax端携带cookie或服务端返回cookie时不支持 response.setHeader("Access-Control-Allow-Origin", "*"); 需要指定特定域名。

整理成文档: http://www.javajh.com/rest/ar...

巴扎黑

之前遇到过类似的问题,chrome可以,但是firefox 不支持通配符

ringa_lee

跨域的问题不只是Origin,还有HeadersMethods= =

阿神

用jQuery cors和非cors,代码是一样。区别在服务端。

迷茫

我之前设置过,是在接口文件里面设置允许访问 解决跨域问题

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号