使用AngularJs使用ajax和ng选项填充select

使用AngularJs使用ajax和ng选项填充select,angularjs,json,ajax,Angularjs,Json,Ajax,使用angularJS,我需要使用来自ajax调用的数据填充select 我有一个名为“tabpacproficationalcontroller”的控制器。在这个控制器中,我执行ajax调用来获取json数据(“proficationais对象”)。 到目前为止还不错 我的问题是,我得到了从服务器返回的json数据,但我的select永远不会填充 我错过了什么 我的回报是: {"results":[{"nr":"8","nome":"AAAAAAAAAAAA"}, {"nr":"17","no

使用angularJS,我需要使用来自ajax调用的数据填充select

我有一个名为“tabpacproficationalcontroller”的控制器。在这个控制器中,我执行ajax调用来获取json数据(“proficationais对象”)。 到目前为止还不错

我的问题是,我得到了从服务器返回的json数据,但我的select永远不会填充

我错过了什么

我的回报是:

{"results":[{"nr":"8","nome":"AAAAAAAAAAAA"},
{"nr":"17","nome":"BBBBBBB"},
{"nr":"27","nome":"BBBBBAAAAA"},
,{"nr":"1004","nome":"CCCCCCCCC"}]}
HTML


如果希望标签显示
nome
属性,且值为
nr
属性,请尝试以下操作:

<div class="form-group">
    <label for="paciente.texto.sexo" class="col-sm-2 control-label">Profissional:</label>
    <div class="col-sm-10" ng-controller="TabPacProfissionalController as tabProfCtrl">
        <select ng-model="tabProfCtrl.selectedProf" ng-options="profissionais.nr as profissionais.nome for profissionais in tabProfCtrl.profissionais">
            <option value="">Select</option>
        </select>         
    </div>
</div>

专业人士:
挑选
(键,值)表示法用于对象数据源,就像您希望迭代单个对象的属性,而不是从
$http
调用中获得的对象集合一样

要查看解析后的服务器响应,可以使用
angular.fromJson(response.data)


这是一个演示功能的示例。

对不起。它不起作用。我得到一个新错误:error:[ngOptions:iexp]预期表达式的形式为“select(as label)”?对于(键,)?_值uu在集合中,但在tabProfCtrl.profissionais中获得了“profissionais.nome for profissionais.nr”。元素:查看我的更新答案。我提供了一个显示功能的plunker。它不起作用。当我在chrome调试器网络工具中看到ajax数据返回时,我已经在上面发布了。但是,我的console.log(this.profissionais.toString())显示如下内容:[object object]、[object object]、[object object]、[object object object]、…..,每个对象都是{“nr”:“X”、“nome:”、“AAA”}。如果您想要查看对象的字符串格式,请尝试使用
JSON.stringify(response.data.results)
。我在plunker链接中添加了额外的显示和值选项。然而,我可能不再理解你的问题了。您尝试了
ng选项
,如中所示,但没有显示任何内容?尝试
angular.fromJSON()
。此外,在示例中,在
{“nr”:“27”,“nome”:“bbbbb aaaaa”}
Add
var self=this之后可能会有一个额外的逗号并在http成功函数中引用
self
。谢谢,很好
app.controller('TabPacProfissionalController', function($http) {
        this.profissionais = {};
        $http.get('/getStaff?tipoProf=1').then(function(response){
                  this.profissionais=response.data.results;
                  console.log(this.profissionais.toString());
        },function(error){
          console.log(error);
        });
      });
<div class="form-group">
    <label for="paciente.texto.sexo" class="col-sm-2 control-label">Profissional:</label>
    <div class="col-sm-10" ng-controller="TabPacProfissionalController as tabProfCtrl">
        <select ng-model="tabProfCtrl.selectedProf" ng-options="profissionais.nr as profissionais.nome for profissionais in tabProfCtrl.profissionais">
            <option value="">Select</option>
        </select>         
    </div>
</div>