2016-04-15 108 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

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