检测是否使用Node.js调用Ajax(刷新页面而不重新加载)

我有一个网站,我想改变页面而不重新加载页面,只是刷新内容。 我正在使用express.js框架。 以下是更改页面的代码:

$("a").on('click', function(e) { pageUrl = $(this).attr('href'); e.preventDefault(); $.ajax({ url: pageUrl, success: function(data) { $('#main-content').html(data); } }); }); 

这是我的“基本”与玉的布局:

 doctype html html(lang="fr") head title test block head body #main-content block body script(src="/js/vendor/jquery.js") 

如何检测与express.js ajax调用,所以我只能加载“块体”,而不是所有的布局。

我认为这将是:

 if !ajax doctype ... block body else block body 

谢谢。

由于您在单击a元素时将新内容添加到DOM ,所以单击处理程序将不能用于新添加元素。

这不是关于NodeJS ,而是你的jQuery代码。 您应该在bodydocument上添加点击处理程序,因为单击a元素时它不会更改。

 $(document).on('click', "a", function(e) { pageUrl = $(this).attr('href'); e.preventDefault(); $.ajax({ url: pageUrl, success: function(data) { $('#main-content').html(data); } }); }); 

有一个解决scheme检查另一个SO回答 Express.js中的 AJAX调用。