我想去的代碼下面的鏈接之一:Backbone.js的路由器
var menukeuze;
var AppRouter = Backbone.Router.extend({
routes: {
"menukeuze": "getPost",
"*actions": "defaultRoute" // matches http://example.com/#anything-here
}
});
// Instantiate the router
var app_router = new AppRouter;
app_router.on('route:getPost', function (menukeuze) {
// Note the variable in the route definition being passed in here
if (menukeuze == 'Welkom') { MakeRequest_goto(menukeuze); }
if (menukeuze == 'Dogs1') { MakeRequest_goto(menukeuze); }
if (menukeuze == 'Dogs2') { MakeRequest_goto(menukeuze); }
});
app_router.on('route:defaultRoute', function (actions) {
MakeRequest_goto('Welkom');
});
// Start Backbone history a necessary step for bookmarkable URL's
Backbone.history.start();
function MakeRequest_goto (ganaarpagina) {
$(document).ready(function() {
$('#div-main-content').fadeOut(function() { $.ajaxSetup({
cache: false,
beforeSend: function() {
$('#div-main-content').fadeOut();
// $('#content').hide();
// $('#loading').show();
},
complete: function() {
// $('#loading').hide();
// $('#content').show();
},
success: function() {
// $('#loading').hide();
$('#div-main-content').fadeIn();
// $('#div-main-content').show();
}
});
var $container = $("#div-main-content");
// $container.load(MakeRequest);
alert ("Loading: " + "page_" + ganaarpagina + ".php");
$container.load("page_" + ganaarpagina + ".php");
}); }); }
我通過調用這些路線:
<td>
<a href="#/menu/Welkom" >
<img src="images/test1.png" />
</td>
<td>
<a href="#/menu/Dogs1" >
<img src="images/test2.png" />
</td>
<td>
<a href="#/menu/Dogs2" >
<img src="images/test3.png" />
</td>
當我在瀏覽器http://link.nl/#/menu/Welkom我得到的輸入一個完美的網頁,但網址失去了#。當我刷新頁面時,Web服務器顯示:找不到請求的URL。 (這是因爲URL從「#」來改變,而「#」)。 當我點擊HREF的它從未工程之一,我收到一個: GET http://link.nl/Welkom?_=1365638638131 404(未找到)
哪有我通過這些路由URL加載ajax? 我已經試過設置和以下站點的信息,但不確實的幫助:
http://thomasdavis.github.io/examples/restful-app/
http://jsfiddle.net/ambiguous/xkZtB/
Backbone router listener not hitting hash tag
我已經triend更多的人,但他們最終的相同,或沒有任何「完成的信息」。 我希望有人看到我的問題? 我使用的瀏覽器是:OS X上的Chrome v26。
我使用的Java腳本是:
<script src="http:////ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script src="http:////ajax.googleapis.com/ajax/libs/jqueryui/1.10.1/jquery-ui.min.js"></script>
<script src="http://code.jquery.com/mobile/1.3.0/jquery.mobile-1.3.0.min.js"></script>
<script src='http://underscorejs.org/underscore-min.js'></script>
<script src='http://documentcloud.github.io/backbone/backbone-min.js'></script>
默認路由工作時我瀏覽到http://link.nl/網站。 Link.nl不是一個真實的網站,只是一個例子。 問候,
謝謝你幫助我。 我也試過這個pushState,但不幸的是它對我來說並不是解決方案。 我仍然在控制檯中得到以下結果: GET http://link.nl/menu/Welkom?_=1365671704329 404(Not Found)jquery.min.js:5 也許我沒有Backbone的問題,但jQuery的實現? 仍然啓用pushState,網址從#變爲不帶#。 而且我認爲我仍然需要#來讓所有的東西都能正常工作。 – Gaston 2013-04-11 09:16:53
我更新了我的答案,包括與404 404問題。 – 2013-04-11 09:21:35
好吧,謝謝你的快速反應,並指出我的網址重寫的東西。 我將在這裏找到如何解決這個問題的解決方案。 – Gaston 2013-04-11 09:27:54