【发布时间】:2014-10-14 22:49:28
【问题描述】:
我正在尝试使用 jquery ajax 函数执行 ajax 请求。我有一个非常奇怪的行为。我的文件夹结构是这样的:
我的客户端 ajax 调用(在 UserManagement/Index.cshtml 中)如下所示:
var rolename = viewModel.roleName();
$.ajax({
type: "POST",
url: '@Url.Action("AddRole", "UserManagement")',
contentType: "application/json; charset=utf-8",
data: { rolename: rolename },
success: function(data) {
var role = new Role(rolename);
model.addRole(role);
model.appendItem("#accordion", role.getItem());
viewModel.roleName("");
}
});
在我的 UserManagementController.cs 中,我有以下操作:
// GET: /UserManagement/
public ActionResult Index()
{
var serializer = new JavaScriptSerializer();
var context = new ApplicationDbContext();
var users = context.Users.ToList();
var roles = context.Roles.ToList();
ViewBag.Users = users;
ViewBag.Roles = roles;
return View();
}
//
// POST: /UserManagement/AddRole
[HttpPost]
public string AddRole(string rolename)
{
Response.StatusCode = 200;
return "gsfgdg";
}
我已经尝试使用 GET 而不是 POST 或将 AddRole 更改为 void 类型和其他任何东西,但我无法让它工作。我总是收到“404 not found”。 有人可以帮忙吗?
提前致谢!
【问题讨论】:
-
在你的浏览器控制台中 url 叫什么?
-
尝试从 ajax 调用中删除 contentType
-
尝试追加参数检查this
标签: jquery asp.net ajax asp.net-mvc asp.net-mvc-4