【问题标题】:MVC4 Ajax Post Action Parameter NullMVC4 Ajax Post Action 参数 Null
【发布时间】:2013-07-06 12:42:13
【问题描述】:

我有一个带有后期操作的控制器。使用javascript ajax 发布数据,action 参数始终为null。有什么建议吗?

路由

    config.Routes.MapHttpRoute(
        null,
        routeTemplate: "api/{controller}/{action}"
    );

Ajax

public register(data: any): bool {
    var url = this.baseUrl + "Account/Register/";
    var xhr: JQueryXHR = $.ajax({
        type: "POST",
        url: url,
        dataType: "json",
        contentType: "application/json; charset=utf-8",
        data: { id: 0, "Username": "myUser", "Password" : "myPass" },
        async: false,
        cache: false,
    });
    return (xhr.status == 200);
}

动作

[HttpPost]
[AllowAnonymous]
[Mvc.ValidateAntiForgeryToken]
public void Register(UserLogin login)

用户登录

public class UserLogin
{
    public string Username { get; set; }
    public string Password { get; set; }
}

【问题讨论】:

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


    【解决方案1】:

    试试这个:

     data: JSON.stringify({ login : { id: 0, "Username": "myUser", "Password" : "myPass" }}),
    

    【讨论】:

    • JSON.stringify 编辑它。不要将它作为单个参数再次放入对象中。
    • 你的意思是:data: JSON.stringify({ id: 0, "Username": "myUser", "Password" : "myPass" }),@Abc。这适用于 web api,但如果你使用 mvc,它应该像我的回答
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多