我不知道这个问题的标题是否恰当。我应该在哪里存储HTML元素的元信息?
我有一个侧栏填充了代表数据库中对象的可点击的div。当用户点击其中一个div时,我想通过ajax获取更详细的信息,并在主要内容区域显示接收到的信息。
每个边栏div都需要有一个关联的id
,我可以用我的javascript传递给服务器。
我想知道我应该在页面上放这个ID吗?
有没有这样做的最佳做法?
我不知道这个问题的标题是否恰当。我应该在哪里存储HTML元素的元信息?
我有一个侧栏填充了代表数据库中对象的可点击的div。当用户点击其中一个div时,我想通过ajax获取更详细的信息,并在主要内容区域显示接收到的信息。
每个边栏div都需要有一个关联的id
,我可以用我的javascript传递给服务器。
我想知道我应该在页面上放这个ID吗?
有没有这样做的最佳做法?
我会存储在data-
attributes的数据。
我认为这样做的最好方法是让表单锚点链接中的可点击区域转到以json格式获取数据的url。
事情是这样的:
<a href="/getdata?id=1234" class="data_expand" rel="nofollow">Expand</a>
然后:
$(function(){
$(".sidebar a.data_expand").click(function(event){
event.preventDefault();
$.get($(this).attr("href")).then(function(data){
//Handle data here
});
});
});
像这样的搜索引擎更好吗?或无动于衷? – wbarksdale
查看我编辑的nofollow rel标签。这将确保搜索引擎会忽略它。 –
建议使用''为可点击元素,并在你的服务器端脚本检查如果请求是AJAX请求(通过X-Requested-With头文件),并且在脚本中发送任何您需要的内容,或者如果不是AJAX请求,则发送整个页面。这使得搜索引擎可以正确地索引已加载的数据,而没有JavaScript的用户也可以使用您的网站。 – ThiefMaster
我认为这是最有意义的,因为我希望搜索引擎将这些内容编入索引。但是,如何让它在JavaScript运行时不会遵循链接,但是否会遵循其他规则?使用onclick并返回false? – wbarksdale
['e.preventDefault();'](http://api.jquery.com/event.preventDefault/),其中'e'是函数的第一个参数。 – ThiefMaster