2010-10-06 88 views
0

我想在用户单击文本链接时进行POST Ajax调用。带文本链接的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

现在我会用。点击()事件处理程序,并发送一个带有“唯一ID”值一个POST请求(从范围中链接点击来自)。

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

感谢

乔尔

回答

1

你并不需要一个形式做一个Ajax后,你喂的数据到AJAX调用本身:

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

参见:http://api.jquery.com/jQuery.post/

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> 
+0

迄今为止最干净的回答让我的投票 – 2010-10-06 17:53:36