2016-05-13 8 views
0

私のhtmlコードがある結果AngularJSは

$scope.getDestinations = function(viewValue) { 
    console.log(viewValue); 
    return $http.get('/api/destAutoComplete', { 
     params : { 
      prefix: viewValue, 
      countryId: 94 
     } 
    }); 
} 

入力に対する応答を返す「イスト"サーバーから:

[ 
{ 
"name": "Costa del Sol/Istan", 
"cityId": 5452, 
"locationId": 30083 
}, 
{ 
"name": "Istanbul", 
"cityId": 1122, 
"locationId": null 
} 
] 

ご覧のとおり、サーバーは正しい結果をjson配列として返しますが、先読みは決して結果を表示せず、常に「目的地が見つかりません」と表示されます。私は間違って何をしていますか?私は先行ドロップダウンのラベルとして "名前"を表示しようとしていて、1つが選択されたときに、デスティネーションオブジェクト全体を範囲内の宛先に設定しようとしています。

答えて

1

これは、が約束オブジェクトの返却を忘れたためです。角度ブーツラップUIに従ってcode comment

値オブジェクトを返す関数は、値を非同期にロードするために使用できます。

この

$scope.getDestinations = function(viewValue) { 
    console.log(viewValue); 
    return $http.get('/api/destAutoComplete', { 
     params: { 
      prefix: viewValue, 
      countryId: 94 
     } 
    }).then(function(response) { 
     // or whatever response you are getting 
     return response.data.results; 
    });; 
} 

Plunkerをお試しください:http://plnkr.co/edit/rIsiEjDBajZb0JPaNjZB?p=preview