2016-04-15 118 views
0

我想開始一個簡單的網頁,我想加載數據到一個組合框從請求到我的PHP腳本;我遇到的問題是,當我加載頁面時,它不會加載,但如果我將該功能分配給它的按鈕,但它必須按兩次才能開始工作......我只是可以'牛逼弄清楚爲什麼會發生的事情,我有下面的代碼在我的html:ajax請求角和php

<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]); 
     } 

和類型的數據,我想,以填補將是數組例如:

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

If've也嘗試了從角度的$ http方法,但它的確如此;我手動填充假數據的組合框,我沒有問題!

服務器響應:[{ 「nombreCategoria」: 「ACCESORIOS」},{ 「nombreCategoria」: 「CPU」},{ 「nombreCategoria」: 「IMPRESORA」},{ 「nombreCategoria」: 「MONITOR」}]

+1

使用$ http Anuglar服務獲取數據,而不是$ .ajax – Chandermani

+0

是的,正如我之前寫的那樣,我已經嘗試過......並且工作過一樣...仍然有同樣的問題;實際上這是「老」,我現在使用$ http,並給我下一個錯誤:SyntaxError:意外的令牌o,在JSON.parse的行中... –

+0

你能給我們一個示例服務器響應嗎? –

回答

0

我正在與加布裏埃爾在這個項目中工作。 的soluction是添加的方法$scope.$apply();的.push()方法後...

因此,功能如下:

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

我不知道你的傢伙... –