我想在用户点击文字链接时进行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请求(来自链接点击的范围)。
它看起来非常复杂和混乱,我想知道是否有更好的方法来做到这一点。
由于
乔尔
答案 0 :(得分:1)
您不需要表单来执行Ajax发布,您可以将数据提供给Ajax调用本身:
$.ajax({
type: 'POST',
url: url,
data: data,
success: success
dataType: dataType
});
答案 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,它非常易于使用和清理