2012-10-25 1 views
3

클릭했을 때 앵커 중 하나에 문제가 발생하여 하나의 항목에 TypeError: obj is null을 던집니다. 다른 모든 개체는 완벽하게 작동하며 전달되는 개체에는 차이가 없습니다. 동일한 항목 중 4 개 목록에는 오류가 하나뿐입니다. 모두 console.logs은 설정되지 않은 데이터를 표시하지 않습니다. 나는 디버깅에 전적으로 매달려있다. CONSOLE.LOG의Jquery TypeError : 한 항목의 핸들 막대에 전달할 때 obj가 null입니다.

$('.admin-user-list-click').live('click', function(evt) { 
     evt.preventDefault(); 
     var user_id = $(this).attr('user_id'); 
     var screen_id = $(this).attr('screen_id'); 
     var href = $(this).attr('href'); 
     var last_updated = $(this).attr('updated'); 
     var last_login = $(this).attr('last_login'); 
     var user_data = []; 
     var template_structure = {logged_in: 'last_login', last_updated: 'last_updated', user_data: user_data, screen_id: screen_id, screen_data: [], identifier: 'screen'}; 
     var displayContainer = $(this).closest('.admin-page').find('.admin-display'); 
     $.ajax({ 
      url: href + '/index/'+user_id, 
      success: function(data){ 
       //Basic user information 
       var result = $.parseJSON(data); 
       $.each(result, function(k, v) { 
        user_data.push({identifier: k, data: v}); 
       }); 
       $.ajax({ 
        url: href + '/get_user_data/'+user_id, 
        success: function(data){ 
         //Question and answers from registeration 
         var decode = $.parseJSON(data); 
         template_structure.screen_data = decode; 
         console.log(displayContainer) 
         console.log(pending_template) 
         console.log(template_structure) 
         console.log(pending_template(template_structure)) 
         displayContainer.html(pending_template(template_structure)); 
        } 
       }) 

      }// closure of success 
     }) 

}); //closure of click event 

출력 (displayContainer) CONSOLE.LOG (pending_template)의 [div.admin-display]


출력 CONSOLE.LOG의 function()


출력 (template_structure) Object { logged_in= "2012-10-26 08:40:16", user_data=[14], screen_id= "0001", more...}

CONSOLE.LOG (pending_template (template_structure))의 63,210

출력 에게 아무것도 표시되지

해당 라인은 jquery.1.8.2

// args is for internal usage only 
each: function(obj, callback, args) { 
    var name, 
     i = 0, 
     length = obj.length, //this is the line that errors 


583에 console.log(obj) 일 때 오류가있는 경우 Jquery logs on errored

Jquery logs on working

+0

반환되는 데이터가 데이터베이스에서 발생하고 해당 필드가 있어야하기 때문입니다. – Bankzilla

답변

1

문제는 내가

Handlebars.registerHelper('json_check', function(answer, answer_type) { 
    if(answer_type == 'json' && answer !== ''){ 
     text = ''; 
     var response = $.parseJSON(answer); 
     $.each(response, function(key, value) { 
      text += "<p>"+key+"</p><p>"+value+"</p>"; 
     }); 
     return new Handlebars.SafeString(text); 
    } else { 
     return answer; 
    } 
}); 

을 생성 한 핸들 도우미에 기인 작동 문제였다 답이 비어있는 경우 처음에 나는 확인되지 않았 음을 끈. 그래서 빈 문자열을 분석하려고하면 오류가 발생합니다.