2014-07-15 18 views
7

Cố gắng để có được chế độ html5 chơi độc đáo với ui-router nhưng chỉ có vẻ là vô số vấn đềHTML5 chế độ - ui-router - Lỗi Cú pháp chưa gặp: dấu hiệu bất ngờ <

Một Tôi không thể làm được việc tại thời điểm này rất lạ nên mọi đề xuất đều được đánh giá cao.

Tôi có những trạng thái:

 .state('app', { 
       url: '/app', 
       templateUrl: 'views/app/app.html', 
       resolve: { 
        loggedin: checkLoggedin 
       } 
     }) 
     .state('app.docs', { 
       url: "/docs", 
       templateUrl: "views/app/app.docs.html", 
       controller: "DocsController" 
     }) 

     .state('app.create-doc', { 
       url: "/docs/create", 
       templateUrl: "views/app/app.editor.html", 
       controller: "DocController" 
     }) 

     .state('app.edit-doc', { 
       url: "/docs/:short", 
       templateUrl: "views/app/app.editor.html", 
       controller: "DocController" 
     }) 

     .state('app.account', { 
       url: "/account", 
       templateUrl: "views/app/app.account.html", 
       controller: "AccountController" 
     }) 

Khi KHÔNG trong chế độ html5 (sử dụng hashbang), và tôi hướng đến /#/app/docs/create tất cả mọi thứ hoạt động tốt không có lỗi trong giao diện điều khiển.

Tuy nhiên, khi IN chế độ html5 và tôi điều hướng đến /app/docs/create Tôi nhận được toàn bộ tải lỗi trong bảng điều khiển nêu rõ Uncaught SyntaxError: Unexpected token < cho từng Bộ điều khiển và Dịch vụ của tôi.

enter image description here

Tôi xin lỗi tôi không thể chi tiết hơn về vấn đề này nhưng tôi chỉ đơn giản là đã không có một đầu mối những gì đang gây ra vấn đề ???

+1

Có vẻ như nó đang trở lại trang lỗi khi bạn đang tải các tệp JavaScript. Chỉ định đường dẫn đến các tập lệnh từ thư mục gốc. –

Trả lời

10

Một điều quan trọng cần xem xét là URL của bạn. Hãy thử đặt '/' trước cả hai templateUrl của bạn và Javascript của bạn bao gồm các URL để chúng là các URL tuyệt đối. Lỗi đó rất phổ biến khi trình duyệt cố gắng truy cập vào tệp JS và nó trở lại HTML (thường là trang 404).

Ngay khi bạn bắt đầu xem URL như "/ docs/create", trình duyệt sẽ xử lý các URL tương đối dưới dạng đường phụ dưới đó và có thể dễ dàng dẫn đến lỗi này nếu bạn không bẫy. (Nhìn vào tab Mạng trong trình gỡ lỗi ở trên có thể giúp xác nhận điều này.)

+0

Vâng - nghĩ rằng đó là để làm với các url và chỉ cần kiểm tra ngay bây giờ. Lạ là trong chế độ html5 gây ra vấn đề mặc dù? – tommyd456

+0

Chế độ html5 thực sự có ý nghĩa hoàn hảo như là nguồn gốc của điều này. Nếu không có nó, bạn có một băm-bang và bản thân URL luôn luôn là '/'. Với nó, bạn đang thay đổi URL ... và các URL tương đối không phải là một vấn đề cho đến khi bạn điều hướng khỏi '/' ... :) –

Các vấn đề liên quan