Ajax在元素列表中使用不显眼的javascript请求

前端之家收集整理的这篇文章主要介绍了Ajax在元素列表中使用不显眼的javascript请求前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
所以我真的更喜欢使用不引人注目的 javascript来内联javascript.我发现使用它更容易.

我一直遇到的问题是,我不知道如何获取我想要使用的每个特定元素的数据.

例如:

我有一个列表,我生成以下HTML(这是伪代码)

<%for e in list%>
    <a href="#" class="delete"><%=e%></a> <!-- <%= e.id %> ??-->
<%end%>

所以我想将javascript附加到其中的每一个< a>将调用ajax帖子的标签,但我需要“id”从后端删除正确的元素.

$('a.delete').click(function() {
    // Ajax request using "e.id"
});

我试过的一些事情:

>构建href并使用attr方法将ajax请求发送到该URL. (对于POST请求我真的不喜欢这个,但确实有效.
>使用rel属性存储我需要的数据.
>使用HTML5数据属性. (我不知道所有浏览器的可用性,因为我们需要支持IE6,所以我不喜欢这个想法.)
>为每个< a>创建一个表单.标记和序列化. (这似乎是很多额外的代码,但它看起来也很干净.)

实现这一目标的最佳做法是什么?

使用id属性存储一个带有id的字符串,如下所示:
<%for e in list%>     
    <a id="link_<%= e.id %>" href="#" class="delete"><%=e%></a> 
<%end%>

并通过拆分下划线来读取id:

$('#list a').click(function(){
    //old var id = $(this).attr('id').split('_')[1];
    var id = this.id.split('_')[1]; //thx @mu

    $.ajax({
        url: 'http://www.someurl.com/delete.aspx?id=' + id,//...more
    })
});

猜你在找的Ajax相关文章