2017-08-21 23 views
0

我使用$http功能AngularJs,我有一個異步功能需要另一種反饋變量,然後繼續,我的代碼如下:

function getDataList(company_id) { 
    return $http.get("https://for_test_document/restful_api/brandsearch/format=json&company_id=" + company_id); 
} 

然後我嘗試使用它,如下所示的JSON已經正確接收:

for (var i = 0; i < len; i++) { 
    getDataList(json.data[i].id).then(function(successdata) { 
     var len = successdata.data.length; 
     var brand_name = ""; 
     for (var j = 0; j < len; j++) { 
      brand_name = brand_name + successdata.data[j].Brand_Name + '/'; 
     } 
     console.log(brand_name); 
     return brand_name + "" 
    }) 

我的問題是,在console.log已經展示一下brand_name正確,但爲什麼在瀏覽器中它顯示的對象? the Browser show as follows

我的HTML如下:

function loadInfo(){ 
    $http({ 
     method:'GET', 
     url:'https://for_example/restful_api/companysearch/?format=json', 
     dataType: "json", 
     contentType : 'application/json', 
     Accept: 'application/json', 

    }).then(function (json){ 
     get_company_type().then(function (data) { 
      unique_company_type = data.data 

     }) 
     /*insert data to table */ 
     var len =json.data.length; 
     var tableStr = ''; 
     tableStr = tableStr+ content 
     tableStr = tableStr+'<tbody role="alert" aria-live="polite" aria-relevant="all">'; 
     for(var i=0;i<len;i++){ 
      tableStr = tableStr+'<td class=" ">' + 
     getDataList(json.data[i].id).then(function (successdata){      
     var len = successdata.data.length;         
     var brand_name = "" ;           
     for(var j=0;j<len;j++){          
      brand_name = brand_name +successdata.data[j].Brand_Name+'/';      
      }          
     console.log(brand_name);          
     return brand_name + "" }) +           
    '</td><td class=" ">' +json.data[i].City + '</td><td class=" ">' +json.data[i].Address + '</td><td class=" ">' +'Client Contact' +    
    '</td><td class=" ">' + 'Contact details' + "</td></tr>"; 
     } 
     tableStr = tableStr+"</tbody>"; 

感謝您的任何幫助。

+1

你能提供你的HTML嗎? –

+0

在表中綁定可能會導致此問題,因爲「brand_name = brand_name + successdata.data [j] .Brand_Name +'/';」在這裏你正在接受價值,但這可能不在ng-repeat.kindly分享HTML否則檢查HTML –

回答

-1

顯然它返回了brand_name類型的對象,不確定它應該這樣做。你可以嘗試使用toString()強制解析它:

for (var i = 0; i < len; i++) { 
    getDataList(json.data[i].id).then(function(successdata) { 
     var len = successdata.data.length; 
     var brand_name = ""; 
     for (var j = 0; j < len; j++) { 
      brand_name = brand_name + successdata.data[j].Brand_Name.toString() + '/'; 
     } 
     console.log(brand_name); 
     return brand_name + "" 
    }) 
+0

我已經嘗試過了,但它不起作用,謝謝〜 –