2016-10-19 3 views
0

여러 json 파일에서 데이터를 가져와야합니다. json 파일 중 하나에서 데이터를 테이블에 추가 할 수 있습니다. 그러나 여러 json 파일에서 데이터를 가져 오려고 할 때 작동하지 않습니다. 내 코드는 다음과 같습니다.jquery로 여러 JSON 파일 가져 오기

var uri = 'sharepointmodel.json'; 
var uri2 = 'navisioncustomer.json'; 

function find(sharepointmodel) { 
    var info = $('#KUNDE').val() 
    $("#loader").show(); 
    $.getJSON(uri).done(function (data) {      
     var item = data.filter(function (obj) { 
      return obj.name === info || obj.ID === info; 
     })[0]; 

     if (typeof item ==='undefined'){ 
      alert("Ukendt navn eller ID"); 
     } 
     else if (typeof item !== 'undefined' || item !== null) {        
      $("table.table").append("<tr><td> " + item.name + item.url + "</td></tr>"); 
     }             
    }).fail(function (jqXHR, textStatus, err) {      
      $('#ERROR').text('Kan ikke oprette forbindelse til serveren!'); 
    }).always(function(){ 
     $("#loader").hide(); 
    }); 
} 

function find(navisioncustomer) { 
    var info2 = $('#KUNDE').val() 
    $("#loader").show(); 
    $.getJSON(uri2).done(function (data) {      
     var item = data.filter(function (obj) { 
      return obj.name === info2 || obj.ID === info2; 
     })[0]; 

     if (typeof item ==='undefined'){ 
      alert("Ukendt navn eller ID"); 
     } 
     else if (typeof item !== 'undefined' || item !== null){        
      $("table.table2").append("<tr><td> " + item.name + item.phone + "</td></tr>"); 
     }             
    }).fail(function (jqXHR, textStatus, err) {      
     $('#ERROR').text('Kan ikke oprette forbindelse til serveren!'); 
    }).always(function(){ 
     $("#loader").hide(); 
    }); 
} 
+0

이제 두 개의 다른 함수 이름을 사용하고 있지만 여전히 여러 .Its에서만 데이터를 검색 할 수는 없습니다. function find (navisioncustomer) { –

답변

1

함수 이름은 모두 find()입니다. 따라서 하나의 함수가 호출되고 데이터가 하나의 파일에서만 추가되는 것입니다.

함수 이름이 다르거 나 하나의 함수가 있고 uri 변수를 전달합니다.

var uri = 'sharepointmodel.json'; 
    var uri2 = 'navisioncustomer.json'; 
    function find(uri,callback) { 
     var info = $('#KUNDE').val() 
      $("#loader").show(); 
      $.getJSON(uri).done(function (data) {      
     var item = data.filter(function (obj) { 
      return obj.name === info || obj.ID === info; 
      })[0]; 
      if (typeof item ==='undefined'){ 
       alert("Ukendt navn eller ID"); 
      } 
      else if (typeof item !== 'undefined' || item !== null){        
      callback(item); 

      }             
      }).fail(function (jqXHR, textStatus, err) {      
       $('#ERROR').text('Kan ikke oprette forbindelse til serveren!'); 
      }).always(function(){$("#loader").hide(); 
      }); 
      } 

: 모두에 데이터를 추가하려면

function find(json_uri) { 
    var info = $('#KUNDE').val() 
    $("#loader").show(); 
    $.getJSON(json_uri).done(function(data) { 
     var item = data.filter(function(obj) { 
      return obj.name === info || obj.ID === info; 
     })[0]; 
     if (typeof item === 'undefined') { 
      alert("Ukendt navn eller ID"); 
     } else if (typeof item !== 'undefined' || item !== null) { 
      $("table.table").append("<tr><td> " + item.name + item.url + "</td></tr>"); 

     } 
    }).fail(function(jqXHR, textStatus, err) { 
     $('#ERROR').text('Kan ikke oprette forbindelse til serveren!'); 
    }).always(function() { 
     $("#loader").hide(); 
    }); 
} 

두 통화

find(uri); 
fin(uri2); 
+0

답장을 보내 주셔서 감사합니다. 이제 두 개의 다른 함수 이름을 사용하고 있지만 여전히 작동하지 않습니다. 어쩌면, 나는 네가 의미하는 바를 오해 했어. –

+0

@ Ibrahimİnce는 jsfiddle에서 코드를 공유 할 수 있습니까? – Netham

+0

나는 하나의 함수를 사용하여 uri 변수를 전달하는 문제를 해결했다고 생각한다. 고맙습니다. –

0

당신을 이름이 같은 두 기능이을해야 할 것이다, 다음과 같은 코드를 리팩토링 함수를 호출하려면 다음을 수행하십시오.

find(uri,function(item){ 
$("table.table").append("<tr><td> " + item.name + item.url + "</td></tr>"); 
}); 
find(uri2,function(item){ 
$("table.table2").append("<tr><td> " + item.name + item.phone + "</td></tr>"); 
}); 
0
var uri1 ='http://'; 
    var uri2 ='http://';   
    function find() { 
    var info1 = $('#KUNDE').val() 
     $("#loader").show(); 
    $.getJSON(uri2) .done(function (data) {    
    var item = data.filter(function (obj) { 
    return obj.name === info1 || obj.ID === info1; 
     })[0]; 
    if (typeof item !== 'undefined' || item !== null) {     
     $("table.table").append("<thead><tr><th>Name</th><th>SP-Mapper</th></tr></thead>");               
     $("table.table").append("<tr><td> " + item.name +" </td><td><a href='https://"+item.url+ "'target='_blank'><i class='glyphicon glyphicon-file'></i></a>"+"</td></tr>"); 
     }         
     }).fail(function (jqXHR, textStatus, err) {      
     $('#ERROR').text('Kan ikke oprette forbindelse til serveren! '/* + err*/);}).always(function(){$("#loader").hide(); 
     }); 
    var info2 = $('#KUNDE').val() 
     $("#loader").show(); 
    $.getJSON(uri1).done(function (data) {   
     var item = data.filter(function (obj) { 
    return obj.name === info2 || obj.ID === info2; 
     })[0]; 
    if (typeof item !== 'undefined' || item !== null) {     
     $("table.table2").append("<tr><td>ID  = " + item.ID + "</td><td>Name = " + item.name + "</td><td>Phone  = " + item.phone + "</td><td>Contact  = " + item.contact + "</td><td>BalanceLCY  = " + item.balanceLCY + "</td><td>CreditLimitLCY  = " + item.creditLimitLCY + "</td></tr>"); 
     }         
     }).fail(function (jqXHR, textStatus, err) {      
     $('#ERROR').text('Kan ikke oprette forbindelse til serveren! '/* + err*/);}).always(function(){$("#loader").hide(); 
     }); 
     }