我正在考虑通过在属性链接上启用ajax来减少
javascript代码量的方法.例:
<a href="/Default/Link.html" data-endpoint="/Ajax/Link.html" rel="targetId" async="true">Click me!</a>
async =“true”将禁用链接(href)的默认行为,并使用data-endpoint值执行ajax调用,并将其插入rel中定义的元素id.
我不是JS专家,所以我很欣赏使用这种方法的任何想法或陷阱.诸如cache:true等选项也很酷,但也可以传入,但不是真的需要,因为我想这样做以获得包含或多或少的实时数据的部分视图(不需要缓存).
(这是从我在facebook上如何最小化他们的代码的一个话题中得到启发,但与他们如何优化所有内容到每个位’n字节相比可能非常简化)
解决方法
像这样的东西
HTML
<a href="/Default/Link.html" data-endpoint="/Ajax/Link.html" data-target="targetId" data-cache="false",data-async="true">Click me!</a>
jQuery的
$('a[data-async="true"]').click(function(e){ e.preventDefault(); var self = $(this),url = self.data('endpoint'),target = self.data('target'),cache = self.data('cache'); $.ajax({ url: url,cache : cache,success: function(data){ if (target !== 'undefined'){ $('#'+target).html( data ); } } }); });