检测是否使用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代码。 您应该在body
或document
上添加点击处理程序,因为单击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调用。