【问题标题】:angularjs $http params with slash带有斜线的angularjs $http参数
【发布时间】:2013-04-08 04:29:26
【问题描述】:

我正在使用带有 slim php 的 angularjs,并且我在 slim 中有一个 GET 操作

action/param1/param2

然后在我的 angularJS 中

$http({
 url: 'action',
method: 'GET',
params:{param1: param1, param2: param2}
}).success();

在控制台中使用 using 会返回错误?和&,但我需要在参数之间加上斜线

http://xxxxxx/action?param=aaa&param2=bbb

我已经尝试过,我将 $http 参数更改为下面并且它可以工作

 url: 'action/' + param1 + '/' + param2

好的,我的问题是,有没有比我更好的解决方案?因为我觉得我很愚蠢。

【问题讨论】:

  • 我不认为有,因为您的 params 并不是真正的参数,它们是您资源的一部分,因此您需要将它们放入 url
  • 我同意尼克斯的观点。您是否考虑过将 $http 包装在一个服务中,可以传递 URL 和参数,并在发送前格式化请求?
  • 你做得对。
  • @AlexOsborn 是的,我会将 $http 移至共享服务。

标签: angularjs slim


【解决方案1】:

改用$resource

var myResource = $resource('action/:foo/:bar', {},
                           { get: { method: 'GET' } }
                          );
myResource.get({foo:1, bar:2});

将调用:

http://yourserver.com/action/1/2

【讨论】:

  • 知道如何使用 $http 吗?
  • 手动构建http url "http://yourserver.com/action/" + param1 + '/' + param2
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-06-29
  • 2017-02-05
  • 2013-10-09
  • 2010-10-06
  • 1970-01-01
相关资源
最近更新 更多