【问题标题】:AngularJS absolute URL in $http$http 中的 AngularJS 绝对 URL
【发布时间】:2015-01-14 12:54:09
【问题描述】:

我正在尝试在 AngularJS 中使用 $http 获取一些外部数据:

$http({url : 'http://my-externaldomain.com/user/tmp/test.txt' , method : 'GET'}).success(function(result){console.log(result)});

它不起作用,在检查我的 chrome 日志时,我可以看到 URL 为:

http://mylocalhost.domain/myapp/public/'http://my-externaldomain.com/user/tmp/test.txt'

angularjs 在实际 url 之前添加了 baseurl ,这是唯一的错误。 看起来 AngularJS 添加了我的基本 url ,有没有办法摆脱它?

【问题讨论】:

  • angularjs 在实际 url 之前添加 baseurl ,这是唯一的错误
  • 使用localhost:7300 之类的服务器为您的应用提供服务,然后查看
  • 您是否尝试删除 http:// 并简单地调用 //url ?虽然它应该使用绝对的,但你使用的是什么版本?如果是 1.3,请尝试将基本标签添加到您的头部标签。

标签: angularjs cors


【解决方案1】:

问题解决了。 首先,我从 MySQL 获取的 URL 包含有“'”标记。删除单/双引号解决了在每个请求中添加我的基本 url 的问题。

这让我想到了浏览器不允许跨站点脚本编写的另一个问题,除非请求的服务器在其响应中有一些标头。在我的脚本所在的目标目录中,我添加了 .htaccess 文件:

Header set Access-Control-Allow-Origin "*"

我还必须在我的 apache2 服务器中启用 mod_headers:

sudo a2enmod headers
sudo service apache2 restart

【讨论】:

    猜你喜欢
    • 2023-03-23
    • 2012-06-17
    • 1970-01-01
    • 1970-01-01
    • 2023-04-01
    • 2018-01-29
    • 1970-01-01
    • 1970-01-01
    • 2014-08-21
    相关资源
    最近更新 更多