Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从CORS策略阻止的不同域获取CSS:否';访问控制允许原点';请求的资源上存在标头_Css_Scripting_Cross Domain - Fatal编程技术网

从CORS策略阻止的不同域获取CSS:否';访问控制允许原点';请求的资源上存在标头

从CORS策略阻止的不同域获取CSS:否';访问控制允许原点';请求的资源上存在标头,css,scripting,cross-domain,Css,Scripting,Cross Domain,我有一个带有一些脚本内容CSS等的RestApi。当我尝试从带有URL链接的API添加CSS时,我被CORS策略阻止:请求的资源上不存在“Access Control Allow Origin”头 只有当我试图获取对.wolf或.ttf的CSS引用时,才会发生这种情况。如fontasome或flaticon 我的第三方站点api allready支持内核,我能够获取脚本和内容,甚至可以使用signalr(websockets)通过AJAX发布和获取 我看到您需要添加:Microsoft.AspN

我有一个带有一些脚本内容CSS等的RestApi。当我尝试从带有URL链接的API添加CSS时,我被CORS策略阻止:
请求的资源上不存在“Access Control Allow Origin”头

只有当我试图获取对
.wolf
.ttf
的CSS引用时,才会发生这种情况。如
fontasome
flaticon

我的第三方站点api allready支持内核,我能够获取脚本和内容,甚至可以使用signalr(websockets)通过AJAX发布和获取

我看到您需要添加:
Microsoft.AspNet.WebApi.Cors
config.EnableCors()
; 但我只是想访问一个文件,不是控制器,所以我不知道 还有什么地方需要添加它

这就是我想要得到css的方式


这就是错误:

https://myapi/assets/ccs/flaticon.woff
来源
https://ahotherapp
已被CORS策略阻止:
请求的资源上不存在“Access Control Allow Origin”标题

首先请阅读此内容,了解如何与CORS共享资源

CORS标准的工作原理是添加新的HTTP头,允许服务器向允许的源域提供资源。浏览器支持这些标题并尊重它们所建立的限制

示例:假设您的站点是,并且在域中有第三方API,您可以通过AJAX访问该API

让我们假设您从my-cool-site.com服务器收到的页面向第三方站点.com发出了请求。通常情况下,用户浏览器会拒绝对除您自己的域/子域之外的任何其他站点的AJAX调用。但如果浏览器和第三方服务器支持CORS,则会发生以下情况:

  • 浏览器将向third-party-site.com发送以下HTTP标头

    Origin: http://my-cool-site.com
    
  • 如果第三方服务器接受来自您域的请求,它将使用以下HTTP头进行响应:

    Access-Control-Allow-Origin: http://my-cool-site.com
    
  • 要允许所有域,第三方服务器可以发送此标头:

    Access-Control-Allow-Origin: *
    
  • 如果您的站点不被允许,浏览器将抛出一个错误

如果客户机有相当现代化的服务器,以及您的第三方服务器,那么您完全可以对代码进行一些小的更改


首先,请阅读此文章,了解如何与CORS共享资源

CORS标准的工作原理是添加新的HTTP头,允许服务器向允许的源域提供资源。浏览器支持这些标题并尊重它们所建立的限制

示例:假设您的站点是,并且在域中有第三方API,您可以通过AJAX访问该API

让我们假设您从my-cool-site.com服务器收到的页面向第三方站点.com发出了请求。通常情况下,用户浏览器会拒绝对除您自己的域/子域之外的任何其他站点的AJAX调用。但如果浏览器和第三方服务器支持CORS,则会发生以下情况:

  • 浏览器将向third-party-site.com发送以下HTTP标头

    Origin: http://my-cool-site.com
    
  • 如果第三方服务器接受来自您域的请求,它将使用以下HTTP头进行响应:

    Access-Control-Allow-Origin: http://my-cool-site.com
    
  • 要允许所有域,第三方服务器可以发送此标头:

    Access-Control-Allow-Origin: *
    
  • 如果您的站点不被允许,浏览器将抛出一个错误

如果客户机有相当现代化的服务器,以及您的第三方服务器,那么您完全可以对代码进行一些小的更改



我的第三方网站allready支持内核,我可以获取脚本和内容,甚至可以通过AJAX发布文章和获取内容,甚至可以与signalr(websockets)一起使用。在本例中,当我的引用脚本有一个.woff文件或.ttf不起作用时,我没有使用AJAX只是对字体的链接引用。我甚至没有访问api,只是一个css文件。@Alejandro Gomez-Guerrero,我看到了你的编辑。它是关于你特定的CSS URL,与其他字体、WebSocket等无关,。。。CORS里再也没有了。请检查
开发者工具
中的标题响应,并确保
访问控制允许来源
的正确标题存在。我可以得到以下信息:这不是:同一个目录boostrap没有.wolf或.ttf文件,但flaticon有,并且其中一个是bocked我如何修复我的第三方站点allready支持cores,我可以通过AJAX获取脚本和内容,甚至可以使用signalr(websockets)进行发布和获取。在本例中,当我的引用脚本有一个.woff文件或.ttf不起作用时,我没有使用AJAX只是对字体的链接引用。我甚至没有访问api,只是一个css文件。@Alejandro Gomez-Guerrero,我看到了你的编辑。它是关于你特定的CSS URL,与其他字体、WebSocket等无关,。。。CORS里再也没有了。请检查
开发者工具
中的标题响应,并确保
访问控制允许来源
的正确标题存在。我可以得到以下信息:这不是:同一个目录boostrap没有.wolf或.ttf文件,但flaticon有,而那是bocked。我如何修复它