actionlink 返回json

在ASP.NET MVC中,我们经常使用ActionLink来创建一个链接,用于导航到不同的Controller和Action。但是,有时候我们需要返回JSON数据而不是渲染一个View。幸运的是,我们可以使用ActionLink来返回JSON数据,只需要对ActionLink的使用进行一些微小的更改。

public ActionResult GetData()
{
    List<string> messages = new List<string> { "Hello","World","!" };
    return Json(messages,JsonRequestBehavior.AllowGet);
}

actionlink 返回json

如上所述,我们在这个Action中返回了一个字符串列表。我们还需要指定JsonRequestBehavior.AllowGet选项,使得我们能够在GET请求中返回JSON数据。代码稍作修改,我们就可以在前端ActionLink中使用这个Action:

@Html.ActionLink("Get Data","GetData","Home",null,new { @class = "btn btn-primary get-data" })

上面的代码创建了一个带有get-data类的链接按钮。点击它后,它将调用GetData操作并返回JSON数据。我们可以使用jQuery来处理JSON响应:

$(".get-data").on("click",function(e) {
    e.preventDefault();
    $.getJSON($(this).attr("href"),function(messages) {
        $.each(messages,function(i,message) {
            alert(message);
        });
    });
});

由于我们的Action返回的是JSON数据,我们可以使用jQuery的getJSON()方法来处理它。我们可以对返回的数据进行迭代和处理。

要注意的是,我们需要添加一个e.preventDefault()语句来防止页面在点击链接时重载。

相关文章

AJAX是一种基于JavaScript和XML的技术,能够使网页实现异步交...
在网页开发中,我们常常需要通过Ajax从后端获取数据并在页面...
在前端开发中,经常需要循环JSON对象数组进行数据操作。使用...
AJAX(Asynchronous JavaScript and XML)是一种用于创建 We...
AJAX技术被广泛应用于现代Web开发,它可以在无需重新加载页面...
Ajax是一种通过JavaScript和HTTP请求交互的技术,可以实现无...