2016-01-24 91 views
1

我工作的一个项目在那里我阅读产品和我的HTML网页上显示它JSON文件 这里是我的控制器如何阅读角JS

app.controller('SecondCtrl', function($scope,srvShareCart ,srvShareData,srvAddtoCart,$http) { 
     $scope.product=[]; 
    $scope.One=function(){ 
    //alert($scope.ids); 
     $scope.ids= srvAddtoCart.getData(); 
     for (var i=0; i<$scope.ids.length; i++){ 
     $http.get("http://www.ilexsquare.com/JwelTech/wordpress/api.php?function=GetProduct&id="+$scope.ids[i]) 
     .then(function (response) { 

      srvShareCart.addData(response.data); 
     }); 

     $scope.cart = srvShareCart.getData(); 
     console.log($scope.cart); 

    } 

    } 

,这里是我的HTML页面

<div ng-controller="SecondCtrl"> 
    <ul> <li class=oxy-list__item ng-repeat="d in cart">{{d.title}}</li></ul></div> 

这里是一个工作API

此实施例API link

它给我一个错误response.data这是未定义的问题。它的问题是什么? 我得到的输出,但它不是阵列的形式..我如何添加这些产品的数组。我已经尝试$scope.carts.push($scope.products);但其不存储作为数组

+0

您是否调试过响应?什么是回应? – STORM

+0

'错误:JSON.parse:JSON数据第1行第1列的意外字符'这是错误 –

+0

好吧,'$ scope.ids [i]'中有什么,如果你调用'http ://www.ilexsquare.com/JwelTech/wordpress/api.php?function = GetProduct&id =“+ $ scope.ids [i]'直接在浏览器中替换为'$ scope.ids [i] '。 – STORM

回答

2

从API发送的响应的内容类型是plain text代替application/json

enter image description here

2

尝试这样。

  $http.get({ 
      url: "http://www.ilexsquare.com/JwelTech/wordpress/api.php?function=GetProduct&id="+$scope.ids[i], 
      dataType: "json", 
      success: function (response) { 
       srvShareCart.addData(response.data); 
      }, 
      error: function (msg) { 
       alert(msg.d); 
      } 
     });