找回密码
 注册账号

QQ登录

只需一步,快速开始

《泰拉瑞亚下载-1.4.2.3版》 泰拉瑞亚服务器 - MOD模组下载

入驻泰拉战网 新手指引 - 升级 - 师徒

泰拉瑞亚合成表 泰拉卡牌 - 泰拉江湖 - 泰拉刺客

联系泰拉开发组👈进入 积分市场 - 房产交易 - 水晶获取

查看: 2070|回复: 0

[JS] JS跨域访问提示 No ‘Access-Control-Allow-Origin‘ header is present on

[复制链接]

262

主题

124

回帖

9

广播

业务站长

积分
166
泰拉
180
水晶
2
铜钥匙
0
银钥匙
0
金钥匙
0

【江湖新秀】【我是小土豪】【宝剑回鞘】【泰拉达人】【奥运选手】

发表于 2020-3-8 21:21:29 | 显示全部楼层 |阅读模式
在JS使用 XMLHttpRequest 函数时出现报错信息:
(无论时远程还是本地不在一个域名下都会发生)

XMLHttpRequest cannot loadhttp://www.zgxsh.com/. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'null' is therefore not allowed access.

查了一翻资料,发现原来是新W3C标准中是这样规定的:


最新的W3C标准里是这么实现HTTP跨域请求的, Cross-Origin Resource Sharing


简单的来说,就是跨域的目标服务器要返回一系列的Headers,通过这些Headers来控制是否同意跨域。这些Headers有:

  • 4 Syntax
  • 4.1 Access-Control-Allow-Origin HTTP Response Header
  • 4.2 Access-Control-Max-Age HTTP Response Header
  • 4.3 Access-Control-Allow-Credentials HTTP Response Header
  • 4.4 Access-Control-Allow-Methods HTTP Response Header
  • 4.5 Access-Control-Allow-Headers HTTP Response Header
  • 4.6 Origin HTTP Request Header
  • 4.7 Access-Control-Request-Method HTTP Request Header
  • 4.8 Access-Control-Request-Headers HTTP Request Header


在 Request 包和 Response 包中都有一些。

其中最敏感的就是 Access-Control-Allow-Origin 这个 Header, 他是W3C标准里用来检查该跨域请求是否可以被通过。 (Access Control Check)

跨域实现的过程大致如下:

http://www.zgxsh.com/test.html 发起一个跨域请求,

请求的地址为: http://www.b.com/test.php

如果 服务器B返回一个如下的header

Access-Control-Allow-Origin: http://www.zgxsh.com

那么,这个来自 http://www.zgxsh.com/test.html 的跨域请求就会被通过。

解决方案

如上所知,总结解决办法如下:

1、如果请求的url是aspx页面,则需要在aspx页面中添加代码:
  1. Response.AddHeader("Access-Control-Allow-Origin", "*");
复制代码


2、如果请求的url是PHP页面,则需要在PHP页面中添加代码:
  1. header("Access-Control-Allow-Origin: *");
复制代码

3、如果请求的url是静态的html页面,则需要在页面中添加meta标签代码:
  1. <meta http-equiv="Access-Control-Allow-Origin" content="*" />
复制代码


如果服务器端可以确定是要被哪些域名访问,最好是能把以上代码中的“*”代替为具体的域名,这样做可以相应的增强安全性。

[发帖际遇]: 曲奇饼 在论坛发帖时没有注意,被小偷偷去了 5 泰拉. 幸运榜 / 衰神榜
慵懒~慵懒~
您需要登录后才可以回帖 登录 | 注册账号

本版积分规则

QQ|友链申请|Archiver|手机版|小黑屋|游芯沙盒 ( 陕ICP备11006283号-1 )

GMT+8, 2024-5-17 12:57 , Processed in 0.177257 second(s), 37 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表