jQuery和数据属性来处理所有ajax调用?

前端之家收集整理的这篇文章主要介绍了jQuery和数据属性来处理所有ajax调用?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在考虑通过在属性链接上启用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 );
                       }
                 }
    });
});

猜你在找的jQuery相关文章