当前位置: 首页 > 面试题库 >

AngularJS禁用CORS?

龚睿
2023-03-14
问题内容

也许我完全丢失了一些东西,但是我有一个本地运行的服务器,并且 没有 将Angular配置为对$
http请求使用CORS。当我向localhost:发出HTTP请求时<port>,我看到Chrome首先创建了OPTIONS请求。

因为我需要支持IE 8,并且AngularJS绝对不能在CORS中使用,所以我需要删除CORS。

我尝试直接设置
使用包装器的POST方法,但没有任何效果。也许这与https://github.com/angular/angular.js/issues/1585有关
__$http.post

我也尝试过直接从控制器调用jQuery ajax帖子-即使CORS选项为false(因为它似乎默认为true)。仍然会创建CORS请求。

这是什么配置?


问题答案:

CORS是您请求网址的结果, 而不是 您可以设置的任何配置。如果您的来源与请求url协议/域/端口不匹配,则将收到CORS请求-无例外。

例如,起源为http://www.example.com:8080:

这是一个CORS请求:http :
//example.com :8080/
path.json(不同的子域)

这是一个CORS请求:http :
//www.example.com/path.json(不同的端口)

这是一个CORS请求:https
://www.example.com:8080/path.json (不同的协议)

不是 CORS请求:http :
//www.example.com :8080/path.json
(协议,域和端口均与源匹配)

就是说,发生OPTIONS请求是因为您在标准标头之外有一个标头(很有可能,您的请求具有X-Requested-
With标头)。在Angular.js中,您可以使用以下方法将其删除:

angular.module('yourModuleHere')
    .config(function ($httpProvider) {
        delete $httpProvider.defaults.headers.common['X-Requested-With'];
    });

请注意,对于Angular.js 1.2及更高版本,X-Requested-With不在默认的公共标头列表中。您无需将其从列表中删除。



 类似资料:
  • 问题内容: 我有一个单页应用程序,实际上只有一个页面。只有一个视图使用angularjs完成了许多javascript / ajax逻辑,但是没有路由到其他视图。 因此,我想在网址末尾混搭hashbang(#/)。我可以以某种方式完全关闭angularjs路由吗? 顺便说一句:我了解Htm5Mode,但是我希望它能在所有浏览器中使用。 问题答案: 如果没有定义,则不会进行路由,因此您的url中不会

  • 问题内容: 我有angularJS 1.5.0-rc.2 我在互联网上发现可以使用该指令 但这不会禁用按钮。 我试过的 在我的控制器中,loaded定义为$ scope.loaded = false。 如何禁用按钮?谢谢 问题答案: 仅当表达式为 true时, 该按钮才会被禁用。

  • 问题内容: 我正在使用ng-disabled,我喜欢它。输入和按钮对我来说很好。对于锚标签不起作用。我该如何解决? 问题答案: 没有超链接的禁用属性。你可以这样做:

  • 问题内容: 我正在使用ng-disabled,我喜欢它。输入和按钮对我来说很好。对于锚标签不起作用。我该如何解决? 问题答案: 没有超链接的禁用属性。你可以这样做:

  • 问题内容: AngularJS依赖于启用的JavaScript。这意味着,如果有人访问用AngularJS内置的应用程序或网站,它将无法正确呈现。 使用AngularJS时,用于处理禁用了JavaScript的访客的常用约定是什么? 请解释为什么会这样? 问题包括处理有角度的JS指令和{{data_bindings}}。这样,当页面无法呈现页面时,数据就不会显示。 问题答案: 在考虑了该问题的其他

  • 问题内容: 我发现了一些奇怪的行为:默认情况下,角度修剪模型值。快速谷歌搜索并不能帮助我解决这个问题。我发现了指令建议,依此类推。但是没有任何效果。 我在下面提供了一个代表此问题的小片段。 您也可以在这里尝试此代码段。 我添加了一个与model同步的textarea 。但是,当添加新的尾随空格或将行换成新空格时,它对观看没有反应。 我该怎么做才能关闭此行为?谢谢。 问题答案: 该指令是1.1.1中