【问题标题】:angularjs $http query params not workingangularjs $http 查询参数不起作用
【发布时间】:2014-05-09 04:43:29
【问题描述】:

我有这个笨蛋

http://plnkr.co/edit/ml1Eqvz5pZY1MgxX87s7?p=preview

我正在尝试查询 .json 文件但没有成功。这是我的工厂

app.factory('myService', function($http, $q) {
   return {
 getFoo: function() {
   var deferred = $q.defer();
   $http({ url: 'foo.json', 
    method : "GET", 
    params : { 'item.id' : 0 } })

   .success(function(data) {
      deferred.resolve(data);
   }).error(function(){
      deferred.reject();
   });
   return deferred.promise;
 },

   }
 });

它运行良好,但它不仅仅获得 id:0。我不想从 .json 文件中加载所有数据。我只想加载 id:0 中的内容

任何指针?

谢谢

【问题讨论】:

  • @JBNizet 其实他的只是一个静态的json文件,他期待http参数是神奇的数据过滤器;)
  • @YeLiu:是的,我发表评论后意识到确实如此。

标签: json angularjs param


【解决方案1】:

您拥有的是一个静态 JSON 文件。您可以将所需的每个参数添加到请求中,如果服务器端没有动态组件来解释这些参数并提供您想要服务的内容,则发送参数是无用的:服务器收到对静态 JSON 文件的请求,并且它提供静态 JSON 文件。

【讨论】:

  • 我明白了,我不知道。有什么方法可以查询静态json文件吗?
  • 不使用 http。您必须下载它,并使用 JS 代码对其进行过滤。在实际应用中,JSON 通常是从查询参数动态生成的,方法是从数据库加载请求的数据并将其转换为 JSON。
  • 谢谢。我的 json 文件约为 40MB,我不需要每次都需要所有数据。加载所有内容并在客户端过滤它会浪费时间。如果我想查询 40MB 的数据是我将其放入数据库的唯一选择吗?
  • 不,不一定在数据库中。重要的是您需要一个动态生成 JSON 的服务器端 API。它是如何做的无关紧要。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-06-30
  • 2011-12-21
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多