从ASP.NET MVC 4控制器方法中的$ .ajax中检索值

时间:2013-12-12 07:05:46

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

我已经写下了一个脚本,如下所示

  var reason = prompt("Please Enter the Reason", "");
                            if(reason != null)
                            {
                               // alert('you are here');


                                $.ajax({
                                    type: "POST",
                                    url: "/Controller/ActionMethod",
                                    content: "application/json; charset=utf-8",
                                    dataType: "json",
                                    data: Json.stringify(reason),
                                    success: function(){ alert('Data Sent');}

                                });
                            }

工作正常,因为它从控制器调用ActionMethod,但我无法检索借助提示获取的数据。在控制器内。

我试过了

字符串原因=请求[“原因”];

以及我试图将数据作为参数传递给控制器​​

public ActionResult ActionMethod(int id,string reason)

但在所有情况下,原因都是空的。请告诉我如何从中找回原因。

提前致谢

2 个答案:

答案 0 :(得分:3)

$.ajax({
        type: 'POST',
        url: "/Controller/ActionMethod",                  
        data:{'reason':reason},
        dataType: 'json',
        success: function(jsonData) {
        },
        error: function(error) {

        }
    });

您的行动可能就像这样

[HttpPost]
public ActionResult ActionMethod(string reason){
...
return Json(obj);
}

答案 1 :(得分:1)

这应该有效:Request.Form [“reason”]。