2016-04-15 11 views
0

私はリクエストから自分のPHPスクリプトにデータをコンボボックスにロードしたい単純なWebページを開始しようとしています。私が抱えている問題は、ページを読み込んでもロードされないときですが、ボタンに関数を割り当てても、それを2回押して作業を開始しなければならないということです。角度とPHPでのajaxリクエスト

<div class="form-group"> 
     <label class="col-md-6 col-xs-12" for="pref-perpage">Categoría:</label> 
     <select id="pref-perpage" class="col-lg-9 lindo"> 
       <option ng-repeat="result in search.vendor">{{result.nombreCategoria}}</option> 
       <option selected="selected">[ Seleccione ]</option> 
     </select> 
</div> <!-- form group [Categoria] --> 

これが私のjavascriptです:

search.buscar = function() 
    { 

    $.ajax({ 
     url: "Busqueda.php", 
     type: "get", 
     success: function(response) { 
      search.vendor.push({'nombreCategoria':response}); 
     var JSONObject = JSON.parse(response); 

      for(var x in parsed){ 
      search.vendor.push(parsed[x]); 
     } 

と私は配列を埋めるしたいデータの種類は次のようになりトンそれが起こって、なぜ、私は私のhtml内の次のコードを持って把握次のようなもの:

search.vendor = [{'nombreCategoria':'data'}]; 

$ httpメソッドも角度から試してみましたが、同じことをしました。私は手動でコンボボックスに偽のデータを埋め込み、問題はありません!

サーバの応答:[{ "nombreCategoria": "ACCESORIOS"}、{ "nombreCategoria": "CPU"}、{ "nombreCategoria": "Impresoraを"}、{ "nombreCategoria": "MONITOR"}]

+1

データを取得するために$ http.Anuglarサービスを使用してください。$ .ajax – Chandermani

+0

ええ、私はすでにこれを試していましたが...同じことをしました。 JSON.parseの行で予期しないトークンo ... –

+0

あなたは私たちにサンプルのサーバレスポンスを与えることができますか? –

答えて

0

私はこのプロジェクトでGabrielと仕事をしています。 soluctionが

ので、関数は次のようになります... .push()メソッドの後にメソッド$scope.$apply();を追加しました:ところで

search.buscar = function() { 
    $.ajax({ 
     url: "Busqueda.php", 
     type: "get", 
     success: function(response) { 
      search.vendor.push({'nombreCategoria':response}); 
      var JSONObject = JSON.parse(response); 
      for(var x in parsed) { 
       search.vendor.push(parsed[x]); 
       $scope.$apply(); 
      } 
     } 
    }); 
} 

...私は解決策を見つけたhere (stackoverflow)

+0

私はあなたのことを知りません... –

関連する問題