MVC5使用ajax将文本数据传递给控制器

时间:2015-11-27 19:52:04

标签: ajax view controller asp.net-mvc-5

您好我在改进我的mvc应用网站并实施更好的设计过程中进行了全面的清理工作。我仍然无法正常工作的一件事是在div点击的视图中将2个字符串传递给我的家庭控制器。   我能够使用带有文本框的Html.BeginForm方法做得很好,但这不是理想的实现。

视图:

<a href="#" id=" next">
   <div class="next">
   </div>
</a>

@section scripts
        {
    <script type="text/javascript">
        $("#next").on("click", function (e) {
            e.preventDefault();

            $ajax({
                type: "Post",
                datatype: "text",
                url: "/Home/Komic",
                data: {
                    action: "next",
                    num: "1"
                },
            });
        });
    </script>
     }

控制器:

   public ActionResult Komics(string action, string num)
    {
        //do stuff
        //will return element in list depending on action/num passed from view
        return View(list.ElementAt(KomicIndex));
     }

为了帖子,我一直保持简单。但这个想法是,一旦&#34; next&#34;单击div,ajax调用将通过&#34; action&#34;和&#34; num&#34;控制器的字符串参数,它将使用列表中的已确定元素返回其视图。

如前所述,我可以通过这种方法轻松完成此任务:

@using (Html.BeginForm("Komics", "Home"))
{
    @Html.TextBox("action")
    @Html.TextBox("num")
    <input type="submit" class="btn" />
}

但我不能在我的设计中使用它。所以我基本上想要使用ajax复制相同的结果并单击&#34; next&#34;格。

我已经在这里捶打了好几天;但到目前为止没有骰子。 提前谢谢!

1 个答案:

答案 0 :(得分:0)

试试这个

var info={"action":"text",
          "num":"1"};
    $.ajax({
            type: 'GET',
            url: '@Url.Action("Komics","Home")',
            data: info,
            error:function(error){
              //do sth
          },
            success:function(result){
            console.log(result);
            //see the result comes from server
          }
        });