AJAX调用文本链接

时间:2010-10-06 16:49:07

标签: jquery ajax

我想在用户点击文字链接时进行POST Ajax调用。

一种方法是创建许多表单并使提交按钮成为文本链接。然后使用jQuery,我将从表单中获取变量并使用Ajax提交它们。

这将创建如下内容:

<form><input type="hidden" name="unique-id" value="1"><a href="" class="submitForm"></form>
<form><input type="hidden" name="unique-id" value="2"><a href="" class="submitForm"></form>
<form><input type="hidden" name="unique-id" value="3"><a href="" class="submitForm"></form>

现在使用jQuery,我将使用.click()事件处理程序并发送一个带有“unique-id”值的POST请求(来自链接点击的范围)。

它看起来非常复杂和混乱,我想知道是否有更好的方法来做到这一点。

由于

乔尔

3 个答案:

答案 0 :(得分:1)

您不需要表单来执行Ajax发布,您可以将数据提供给Ajax调用本身:

$.ajax({
  type: 'POST',
  url: url,
  data: data,
  success: success
  dataType: dataType
});

请参阅:http://api.jquery.com/jQuery.post/

答案 1 :(得分:1)

为什么不直接使用“unique-id”作为链接的ID,并在发布时使用该ID。

<a id="1" href="#">Link</a>
<a id="2" href="#">Foo</a>
<a id="3" href="#">ASDF</a>


<script type="text/javascript">
    $(function() {
        $("a").click(function(evt) {
            evt.preventDefault();
            $.ajax({
                type: "POST",
                url: url,
                data: "unique-id=" + $(evt.target).attr("id"),
                success: function(data) {
                    alert("done");
                }
            });
        });
    })
</script>

答案 2 :(得分:0)

使用新的表单提交功能检查Ajaxify Jquery plugin,它非常易于使用和清理