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

AngularJS $定位服务显然无法解析URL?

端木渝
2023-03-14
问题内容

我在基本上是带有搜索结果的表的应用程序中使用angular。可以通过如下网址访问该表http://myapp/?client=clientName

实例化该表的角度控制器,以打开带有行详细信息的模态对话框(也是基于角度的bootstrap-ui)。

这些行的详细信息是通过一项服务带来的,该服务对两个控制器都具有一些通用功能:一个用于表,一个用于模式。

现在,在此服务中,我可以检索以下代码段:

service.fetchRelatedElements = function(element, cb) {
  var url = '/search.json?results=20&type='+element.type;
  if ($location.search()['client']) {
    url += '&client=' + $location.search('client');
  }
  return doFetch(url, cb); // actual server json GET
};

目的是知道表是否已经将此特定client参数设置为过滤器。

如果在此调用的开头放置一个断点,$location.absUrl()则会看到该返回当前的浏览器URL(在我的情况下,该URL具有client我感兴趣的参数)。

但是$location.search()返回一个空对象。

我正在将$ location服务注入服务中的默认值(即,不通过.config()调用对其进行配置)。而且,正如文档所说:

$ location服务解析浏览器地址栏中的URL(基于window.location),并使该URL可用于您的应用程序。

我想念什么吗?此时不应该解析URL吗?

谢谢!

更新: 我设法使其工作。问题是我根本没有配置所有服务。我这样做是因为我认为这样做会采用默认值,但是这似乎不是它的工作方式。


问题答案:

$locationProvider在应用程序的模块配置中进行配置之前,我遇到了同样的问题:

appModule.config(['$locationProvider', function($locationProvider) {
        $locationProvider.html5Mode(true);
    }]);


 类似资料:
  • 我有一个基于spring-boot的mircroservice环境,在这里我使用zipkin服务器、discovery-server(eureka)和Config-Server。现在我有了一个REST微服务,它向zipkin服务器发送日志,需要这个微服务来使用Discovery-Server解析zipkin服务器的位置。 下面是我在REST微服务的application.properties中的z

  • 我正在使用Client编写一个Eureka客户端应用程序。这是我的POM 如您所见,我使用的是spring boot版本

  • 问题内容: 我对春天还很陌生,所以请问这是一个愚蠢的问题。当我尝试启动程序时,出现以下错误:。执行以下代码时,将引发错误: 资源文件夹中存在一个名为的属性文件,其中包含主机和端口的信息。我不确定在哪里定义(如果有的话)。也许甚至没有定义,这就是问题所在。我需要将其更改为类似的东西还是缺少其他内容? 问题答案: 您没有正确读取属性文件。propertySource应该将参数传递为:或。将注释更改为:

  • 我有一个Angular2项目2.0.0,在试图加载该项目时,浏览器中出现了以下错误: 误差 Metadata_Resolver.js:508未捕获错误:无法解析CustomerService:(AngularFireDatabase,?,Token_FirebaseApp)的所有参数。(…)CompileMetadataResolver.getDependenciesMetadata@metada

  • 遵循spring指南构建了eureka服务器、spring cloud gateway和一个示例rest服务。 但是,网关无法使用eureka服务器的服务名称检索URL。网关和服务的注册似乎没有问题。当提供实际endpoint而不是服务ID时,它工作得很好。我无法理解为什么网关不从尤里卡解析服务id。我是否遗漏了任何配置? 错误消息: 尤里卡服务器 春云网关 Rest服务