2013-01-15 2 views
1

기존 웹 응용 프로그램을 Backbone.js로 작성된 새로운 인터페이스로 교체하려고합니다. 궁극적으로 이것은 응용 프로그램이 Python + CherryPy로 작성된 편안한 API로 뒷받침되고 호스트 페이지를 새로 고치지 않으므로 멋지게됩니다.내 Backbone.js 응용 프로그램에서 JSON.Parse SyntaxError 페이지를로드합니다.

내 첫 번째 단계는 'net'에 관한 다양한 튜토리얼을 사용하여 Backbone.js 개념 증명을한데 모으려고 시도하는 것이 었습니다. 여기에 내가 무엇을 최대 온의 :

<!DOCTYPE html> 
<html> 
<head> 
    <script type="application/javascript" src="/static/js/jquery-1.8.2.min.js"></script> 
    <script type="application/javascript" src="/static/js/underscore-min.js"></script> 
    <script type="application/javascript" src="/static/js/json.js"></script> 
    <script type="application/javascript" src="/static/js/ICanHaz.min.js"></script> 
    <script type="application/javascript" src="/static/js/backbone.js-0.9.9-min.js"></script> 

    <script type="application/javascript"> 
     $(function() { 
      //logical model of a user 
      var User = Backbone.Model.extend({}); 

      //visual representation of a user 
      var CurrentUserView = Backbone.View.extend({ 
       render: function() { 
        this.el = ich.user(this.model.toJSON()); 
        return this; 
       } 
      }) 

      //create a user and drop its representation into the DOM 
      var currentUser = new User({username: "hello world"}); 
      var view = new CurrentUserView({model: currentUser}); 
      $('.content').append(view.el.render()); 
     }); 
    </script> 
</head> 
<body> 
    <div class='content'> 
     <p>The user representation should show up below this paragraph</p> 
    </div> 

    <!--ICanHaz user template --> 
    <script id="user" type="text/html"> 
     <ul class="user"> 
      <li><a href="#">{{ username }}</a></li> 
      <li><a href="#" id="logout">logout</a></li> 
     </ul> 
    </script> 
</body> 
</html> 

불행하게도, 나는 파이어 폭스에서이 페이지를로드 할 때, 사용자 표현이 .content div의 내부에 표시되지 않고 오류 메시지 SyntaxError: JSON.parse: unexpected character는 웹 콘솔에 나타납니다.

$(function() { 
    //logical model of a user 
    var User = Backbone.Model.extend({}); 

    //create a user and drop its representation into the DOM 
    var currentUser = new User({username: "hello world"}); 
    $('.content').append(ich.user(currentUser.toJSON())); 
}); 

은 무슨 일 것입니다 : 다음 코드는 정확히 않기 때문에

문제는 내가 원하는 무엇 CurrentUserView 관련이있을 것으로 보인다?

+0

무엇이 ich.user입니까? – muneebShabbir

답변

1

이것이 왜 당신에게 구문 분석 오류를 줄지 모르겠지만, 나는 $('.content').append(view.el.render());$('.content').append(view.render().el);이어야한다고 생각합니다.

+0

아니요, 같은 오류 메시지입니다. – MusikPolice

+0

그건 그렇고, 일단 실제 문제를 해결하면 (아래 나의 대답을보십시오),이 문법 실수는 밝혀졌습니다. 고맙습니다. – MusikPolice

1

잠을 잘 자고 코드를 두 번째 전달한 후 json2 라이브러리 대신 json 라이브러리를 다운로드 한 것 같습니다. 모든 것이 예상대로 작동합니다.