MVC控制器参数在Ajax调用中获取空值

时间:2019-02-15 10:06:39

标签: c# ajax asp.net-mvc-controller

我正在像这样拨打ajax

 deleteAge(item: any): string {

           $.ajax({
                method: "POST",
                url: 'DeleteAge',
                data: item.Id(),
                success: (response) => {
                    toastr.success("ready soon");
                },
                error: (event) => {
                    toastr.error("Error occured ");
                }
            }).always(() => {

                });


        return "";


    }

这是我在控制器中的方法,目前几乎没有实现

 [HttpPost]
    public ActionResult DeleteAge(string id)
    {
        throw new Exception();
    }

当我运行代码时,在我的控制器中我没有得到任何ID。当我调试JavaScript代码时,此代码item.Id()不为空。即使我将硬编码的值传递给ajax调用中的数据,控制器也仍然为null。怎么了?

2 个答案:

答案 0 :(得分:2)

而不是使用:

const nums = [3, 5, 15, 7, 5];
let n, i = 0;
while ((n = nums[i]) < 10, i++ < nums.length) {
  console.log(`Number less than 10: ${n}.`);
  };

我建议使用:

,

通过这种方式,id值与data: item.Id(), 名称相关联-允许模型绑定正常工作。

答案 1 :(得分:1)

json的格式ajax传递参数

替换data: item.Id() with data: {id: 1}