【发布时间】:2015-09-18 12:03:22
【问题描述】:
我是 jquery ajax 编程的新手,我有一个问题。我有一个超链接文本,可以点击它来订购产品。我希望单击此链接并使用 jquery ajax 呈现部分视图。我无法让它工作,我不知道为什么。希望有人能帮忙。
这是我的 html 动作链接。所以我正在循环浏览产品列表。当用户按下链接时,一个 productID 和一个 tableID 被发送到控制器。
视图在 div 中呈现:
<div id='divResult'>
@Html.Action("TableTransactions", new { tableID = 2 });
</div>
@Html.ActionLink(item.Omschrijving,"Orders","Tables",
new { tableID = Request.Params["tableID"]), productID = item.ProductID },
new { @class = "UpdateTransactionLink" });
这是控制器方法:
public ActionResult TableTransactions(int? tableID, int? productID)
{
return PartialView(transactionBL.TransactionList(tableID.Value));
}
这是ajax jquery:
<script type="text/javascript">
$(document).ready(function () {
$('.UpdateTransactionLink').click(function () {
alert("Clicked via ajax");
$.ajax({
url: "/Tables/TableTransactions",
datatype: "text",
type: "POST",
success: function (data) {
$('#divResult').html(data);
},
error: function () {
$("#divResult").html("ERROR");
}
});
});
});
</script>
但是当我点击链接时,tableID 和 productID 仍然为空,并且会触发两次。
谁能帮帮我?
【问题讨论】:
-
它会触发两次,因为它是一个链接,因此您同时执行 ajax 调用和正常重定向 - 您需要取消默认操作。并且在 ajax 调用中,您不会将任何数据传递给该方法,因此参数为
null
标签: jquery ajax asp.net-mvc