javascript - AngularJS - 发送和接收数据但不更新 View

标签 javascript angularjs

我正在开发一个单页应用程序,我想调用服务器以查询特定价格的商品(例如 www.myapp.com/products?price=1200)。我能够执行请求并从端点获取 JSON,但 View 不会更新和显示数据。为什么我的观点没有更新的任何想法?

我的第一个想法是问题出在$routeProvider 上,但我不知道我需要如何更改它。

谢谢!

我的 Angular 模块

angular.module('myApp', [])
  .config(['$routeProvider', function($routeProvider) {

  $routeProvider.
    when('/products', 
      { templateUrl: 'partials/productSearchTemplate.html',   
        controller: ProductControl
      });
}]);

我的 Controller

function ProductControl($scope, $http) {
  $scope.sendRequest = function () {
    $http({
        url: '/products', 
        method: "GET",
        query: {price: $scope.price}
    }).success(function(data) {
      $scope.products = data;    
    });
  }
}

我的看法

<div class="products">
    <div ng-repeat="product in products" class='product-panel'>
        <div class='front'>                
            <span class='product-title'>{{product.title}}</span><br/>
            <span class='product-manufacturer'>
                {{product.manufacturer}}
            </span>
        </div>
        <div class='back'>
            <span class='product-price'>
                {{product.price}}
            </span><br/>
            <a href="{{product.url}}">Details</a>
        </div>
    </div>
</div>

最佳答案

我怀疑您的“产品”端点不返回数组,而是返回对象。您期望来自服务器的以下 json:

[
   {"title":"title","price":1,"manufacturer":"Someone"}
] 

但很可能服务器返回对象而不是数组:

 {
    "products":[{"title":"title","price":1,"manufacturer":"Someone"}],
    "totalCount": 1 
 }

因此只需通过 Firebug 或 Chrome Dev Tools 检查从服务器返回的内容,并在 Controller 中执行必要的转换。

关于javascript - AngularJS - 发送和接收数据但不更新 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15980030/

相关文章:

javascript - 有没有办法使比较运算符成为变量?

javascript - 标签跟随圆形 jQuery 和 CSS

javascript - ng 重复列表下拉列表以过滤另一个列表下拉列表

javascript - Angular - 动态 href - <a> 与 Controller $window.location.href

javascript - 在 Angular 选择特定选项后如何将下拉列表设置为默认值

javascript - Ionic Modal 未打开(TypeError : Cannot read property 'show' of undefined)?

javascript - XML、Javascript - 无法调用 null 的 getElementsByTagName 方法

javascript - 查询 : show div on clicking div

javascript - 嵌套的 document.evalute 搜索?

javascript - AngularJS : Decision tree implementation