带有mysql的NodeJS rest api无法迭代输出格式

Posted

技术标签:

【中文标题】带有mysql的NodeJS rest api无法迭代输出格式【英文标题】:NodeJS rest api with mysql cannot iterate on the output format 【发布时间】:2016-07-12 14:52:02 【问题描述】:

伙计们,我遵循了一个关于如何使用 node+express+mysql 实现 rest api 的教程,这是我的代码 REST.js 文件中的一条路线:

router.get("/companies",function(req,res)
    var query = "SELECT * FROM ??";
    var table = ["company"];
    query = mysql.format(query,table);
    connection.query(query,function(err,rows)
        if(err) 
            res.json("Error" : true);
         else 
            res.json("Companies" : rows);
        
    );
);

这就是我使用 angular 来称呼它们的方式:

sampleApp.controller('InstallController', function($scope, $http) 
    $http.get('http://localhost:3000/api/companies').
            success(function (data) 
                $scope.clients = data;
            );

html

  <option ng-repeat="client in clients">client</option>

这是我得到的回应:

    
  "Companies": [
    
      "id": 1,
      "name": "GOLF"
    ,
    
      "id": 2,
      "name": "RENAULT"
    ,
    
      "id": 3,
      "name": "AUDI"
    ,
    
      "id": 4,
      "name": "MAZDA"
    
  ]

我的目标是迭代结果以填充带有名称的选择标签。请多多包涵,我要开始了。谢谢你:)

【问题讨论】:

【参考方案1】:

您应该在下面使用,但当您选择任何值时,您只能在 selectedClient 中包含 id 值。

<select ng-model="selectedClient">
    <option value="client.id" ng-repeat="client in clients.Companies">
      client.name
    </option>
</select>

更好的选择是在select 下拉列表中使用ng-options 指令,因此您可以在此处选择对象而不是原始值。就像您选择GOLF 选项时将拥有"id": 1, "name": "GOLF" 对象一样,是否作为带有ng-repeat 的重复选项对选择原始类型值有限制。

<select ng-model="selectedClient" ng-options="client.name for client in clients.Companies"></select>

【讨论】:

谢谢谢谢谢谢!但我认为你的意思是 clients.Companies 而不是 clients.Clients 正确。 Ng-repeat 应该是clients.Companies。我昨天遇到了类似的问题。【参考方案2】:

看起来你已经正确地连接在一起了,你只需要更改 $scope.clients 的分配。

$scope.clients = data.Companies;

然后在你的 HTML 中

<option value="client.id" ng-repeat="client in clients"> 
   client.name
</option>

【讨论】:

以上是关于带有mysql的NodeJS rest api无法迭代输出格式的主要内容,如果未能解决你的问题,请参考以下文章

在实时环境中部署 NodeJS 和 MySQL REST API [关闭]

Nodejs:如何从 REST API 下载 pdf 文件?

功能/集成测试 NodeJS ReST API 实现

需要带有 Nodejs 示例的 RESTful MongoDB

使用 restful API 在 nodejs 上实现微风

NodeJS Rest API - 调用外部 API 的正确位置在哪里