ASP.NET MVC和JQuery获取信息到控制器

Bud*_*sey 6 c# ajax asp.net-mvc jquery

我对如何使用jQuery做ajax的东西感到很困惑,似乎我尝试的越多,我就越困惑.在这一点上,我想要做的就是使用jQuery ajax将数据传送到我的控制器.我的jquery ajax调用的一些代码是.

$(function() {
    $('#buttonAddLink').click(function() {
        var AjaxLink = {
            title: $("#linkTitle").val(),
            url: $("#linkUrl").val()
        };

        $.ajax({
            url: '/User/AddLink',
            type: 'POST',
            data: AjaxLink,
            dataType: 'json',
            success: function(result){
                $('.added').html(result.Result).show();
            }
         });         
    });    
});
Run Code Online (Sandbox Code Playgroud)

这是我的控制器和我正在使用的动作.从尝试查看几个教程,它"应该"尽我所知,但显然我不会像我想的那样得到它.

public ActionResult AddLink(string title, string url)
{
    return Json(new { Result = string.Format(title + " " + url)});
}
Run Code Online (Sandbox Code Playgroud)

所有我基本上都想做的就是做Ajax调用并返回显示只是为了确保数据被发送到控制器.

fox*_*rot 3

这与您构造请求的方式有关。您的 JQuery 调用将数据作为 POST 数据发送到用户控制器上的 AddLink 操作,这意味着在您的 C# 代码中,您将通过 Request.Form 对象访问它。根据您想要做的事情,您可以将 jQuery URL 构造为

/User/AddLink/{Title}/{URL}
Run Code Online (Sandbox Code Playgroud)

这需要您在 Global.ASAX 文件中编写一条处理此类输入的规则。简而言之,如果您只是将 AddLink 方法修改如下:

public ActionResult AddLink()
{
    return Json(new { Result = string.Format(Request.Form["title"] + " " + Request.Form["url"])});
}
Run Code Online (Sandbox Code Playgroud)

我相信您会得到您想要的答复。