我的页面上有几个复选框。我有一些jquery来确保一次只检查一个复选框。我为每个复选框分配了一个特定值。下面的ajax找到了已选中的复选框,我正在抓取与之关联的值。如何将该值传递给我的操作?
AJAX
$("input:checkbox").click(function () {
var PaymentID = document.querySelector('#chkBox:checked').value;
alert(PaymentID); // for test
$.ajax({
type: "POST",
dataType: "json",
data: PaymentID,
contentType: "application/json; charset=utf-8",
url: "@Url.Action("MyAction", "Home")",
success: function () {
return PaymentID; // Failed attempt at passing data.
}
})
})
动作:
[HttpPost]
public ActionResult MyAction(string PaymentID)
{
// Magic
}
请记住,我是ajax的新手。大家好
答案 0 :(得分:2)
您可以传递名称为PaymentID
的javascript对象(与您的操作方法参数相同的名称)
data: { PaymentID: PaymentID },
您发送简单对象时无需指定contentType
。此外,您不一定需要为ajax调用指定dataType以发送数据。
这应该有用。
var PaymentID = "some value";
$.ajax({
type: "POST",
data: { PaymentID: PaymentID },
url: "@Url.Action("MyAction", "Home")",
success: function (response) {
console.log('response', response);
}
});
或者您可以使用$.post
方法。
$.post("@Url.Action("MyAction", "Home")",{ PaymentID: PaymentID }, function(response) {
console.log('response', response);
});