我想通过ajax调用在我的自定义函数中使用参数调用action方法。但是这不会调用我的action方法。所以我怎样才能以这种方式调用我的action方法。 这是代码:
<script>
function myFunction(e,ids)
{
var qty = e.value;
if (qty == null) {
alert("current null : " + qty + " : id - " + ids);
}
$.ajax({
type: "POST",
url:'/MyController/MyActionMethod/Parameter1/Parameter2',
success: {
alert("success")
}
});
}
</script>
我的行动方法如下:
[HttpPost]
public ActionResult MyActionMethod(int parameter1,int parameter2){}
请帮帮我。 感谢。
答案 0 :(得分:0)
尝试此操作,要使'/MyController/MyActionMethod/Parameter1/Parameter2'
正常工作,您需要设置自定义路线。
var Parameter1 = '';
var Parameter2 = '';
$.ajax({
type: "POST",
url:'/MyController/MyActionMethod?parameter1=' + Parameter1 + '¶meter2=' + Parameter2,
success: {
alert("success")
}
});
另一种方法是包含data
参数:
var Parameter1 = '';
var Parameter2 = '';
$.ajax({
type: "POST",
url:'/MyController/MyActionMethod',
data: {
parameter1: Parameter1,
parameter2: Parameter2
},
success: {
alert("success")
}
});
答案 1 :(得分:0)
您需要为此目的设置自定义路线
routes.MapRoute(
"RouteName", // Route name
"{controller}/{action}/{param1}/{param2}", // URL with parameters
new { controller = "Home", action = "Index", param1 = "", param2 = "" } // Parameter defaults
);
现在尝试使用您的ajax请求
$.ajax({
type: 'POST',
url:'/MyController/MyActionMethod/Parameter1/Parameter2',
success: {
alert("success")
}
});