微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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 );
                       }
                 }
    });
});

原文地址:https://www.jb51.cc/jquery/241585.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐