使用ajax调用控制器

时间:2015-03-11 06:51:55

标签: javascript jquery ajax asp.net-mvc

嘿,我想用ajax调用控制器动作。但它给出了一个错误。 “资源无法找到”。 javascript函数调用成功控制器动作未调用

这是我的观看代码:

<a class="btn btn-primary" onclick="EditUser('Delete', 'Users', '@Model.Items.ElementAt(i).ID');">Link</a>



 function EditUser(action, controller, id)
            {

                alert(action);
                alert(controller);
                alert(id);

                $.ajax({
                    type: "POST",
                    url: '@Url.Action("Edit", "Users")',
                    data: "{ id: '" + id + "'}",
                    success: function (response) {
                    if (response.d != '1') {
                        alert('Not Saved!');
                    }
                    },
                    error: function (response) {
                    if (response.responseText != "") {
                         alert(response.responseText);
                         alert("Some thing wrong..");
                       }
                   }
                 });
            }

这是我的控制器动作。

public override ActionResult Edit(int id = 0)
        {
    int a = id;
     return View("Edit", DTO);
    }

1 个答案:

答案 0 :(得分:2)

<div id='Sample'></div>
Modify your Ajax function as below.
$.ajax({
            type: "POST",
            url: '@Url.Action("Edit", "Users")',
            data: { id: id },
            success: function (response) {
            $('#Sample').html(response);
            },
            error: function (response) {
            if (response.responseText != "") {
                 alert(response.responseText);
                 alert("Some thing wrong..");
               }
           }
         });

[HttpPost]
public override ActionResult Edit(int id = 0)
    {
int a = id;
 return PartialView("Edit",dto);
}

如果您将Ajax类型指定为post,请确保添加
    [HttpPost] 控制器动作中的属性。