2012-07-23 5 views
2

Backbone.js를 사용하여 브라우저 기록을 처리하려고합니다. 뷰/모델을 처리하지 않기를 원하기 때문에 Views/Models를 설정하지 않습니다. 아마도이 문제로 인해 제대로 작동하지 않을 수 있습니다.Backbone.js를 사용하여 브라우저 기록 처리하기

이 시점에서 내 페이지는 URL을 변경하고 있습니다. 마찬가지로 :

domain.com/services 
domain.com/products 
domain.com/contact 
domain.com/gallery 
domain.com/gallery/photo1 

문제는 : 나는 domain.com/gallery/photo1에서 페이지를 다시로드하려고합니다. 오류가 발생했습니다. 잡히지 않은 SyntaxError : 예기치 않은 토큰 <

다른 모든 페이지는 다시로드 할 때 제대로 작동합니다. 백본에서 뭔가를 놓치고 있습니까?

저는 Backbone.Router 및 Backbone.history를 사용하고 있습니다.

backbone.js를 사용하여 사이트를 설정하는 방법에 대한 간단한 자습서가 있습니까? 그냥 역사 일이야? 당신의 도움에 대한

var Router; 
var myRouter; 

$(document).ready(function(){ 
    Router = Backbone.Router.extend({ 
     initialize : function(options) { 
      // 
     }, 
     routes: { 
      '' : 'home', 
      '*actions' : 'pages' 
     }, 
     home : function() { 
      this.render('/'); 
     }, 
     pages : function(actions) { 
      this.render(actions); 
     }, 
     render : function(path) { 
      var fullLine = ''; 
      path = (path === '/' || path === '')? '/' : path; 
      console.log('path: ' + path); 
     } 
    }); 

    myRouter = new Router(); 

    Backbone.emulateHTTP = true; 
    Backbone.emulateJSON = true; 
    Backbone.history.start({pushState: true, root: "/backbone_teste/"}); 

    // MENU CLICK 
    $('.menu').children('li').each(function(){ 
     $(this).click(function(){ 
      myRouter.navigate($(this).attr('data-id'), true, true); 
     }); 
    }); 
}); 

감사 :

여기 내 스크립트입니다! 해결

+2

"catch되지 않은 구문 에러 : 예기치 않은 토큰 <"

나는이 링크에서 해결책을 발견 누군가가 JSON으로 HTML을 해석하려고하는 것이 좋습니다. 몇 가지 코드를 보여줄 수 있습니까? –

+0

글이 수정되었습니다. 방금 문제를 해결하는지보기 위해 emulateHTTP와 emulateJSON에이 옵션을 추가했습니다. 아직 아무것도로드하지 않습니다. pushState를 false로 변경하고 domain.com/#gallery/photo1에 액세스하려고 시도하지만 작동하지만 해시를 원하지 않습니다. Thanks –

+0

localhost/backbone_teste에서이 예제를 실행 중이며 .htaccess 파일이 mod_rewrite에 있습니다. 아마 이것은 내 문제와 관련이 있습니다. –

답변

2

문제 :

난 그냥 내 index.php 파일에 head 섹션에서 다음 코드를 추가 :

<base href="http://localhost/backbone_teste/" /> 

을 그리고 그것은 작동합니다.

어쨌든 왜 이런 일이 일어나고 왜 Backbone.js 설명서에이 점을 언급하지 않는지 알고 싶습니다. HTML5 History/pushState URLs, .htaccess and You

감사

+0

감사합니다. 이것은 나 또한 트릭을했다. –

관련 문제