在ASP.NET MVC中对控制器进行简单的Ajax调用
我正在尝试开始使用ASP.NET MVC Ajax调用。
public class AjaxTestController : Controller{
    //
    // GET: /AjaxTest/
    public ActionResult Index()
    {
        return View();
    }
    public ActionResult FirstAjax()
    {
        return Json("chamara", JsonRequestBehavior.AllowGet);
    }   
}
<head runat="server">    <title>FirstAjax</title>
    <script src="http://code.jquery.com/jquery-1.9.1.js"></script>
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script>
    <script type="text/javascript">
        $(document).ready(function () {
            var serviceURL = '/AjaxTest/FirstAjax';
            $.ajax({
                type: "POST",
                url: serviceURL,
                data: param = "",
                contentType: "application/json; charset=utf-8",
                dataType: "json",
                success: successFunc,
                error: errorFunc
            });
            function successFunc(data, status) {     
                alert(data);
            }
            function errorFunc() {
                alert('error');
            }
        });
    </script>
</head>
我只需要使用返回数据的控制器方法来打印警报。上面的代码仅在我的视图上显示“ chamara”。警报未触发。
我如下修改了控制器,它开始工作。我不清楚为什么它现在可以正常工作。请有人解释。参数“
a”与之无关,我添加了它,因为我无法添加具有相同方法名和参数的两个方法。我认为这可能不是解决方案,但其工作原理
public class AjaxTestController : Controller    {
        //
        // GET: /AjaxTest/
        [HttpGet]
        public ActionResult FirstAjax()
        {
            return View();
        }
        [HttpPost]
        public ActionResult FirstAjax(string a)
        {
            return Json("chamara", JsonRequestBehavior.AllowGet);
        }
    }
回答:
完成更新后,
- 它首先使用默认的HttpGet请求调用FirstAjax操作,并呈现空白的Html视图。(之前您没有)
 - 稍后在加载该视图的DOM元素时,您的Ajax调用会被触发并显示警报。
 
之前,您只是将JSON返回浏览器,而不呈现任何HTML。现在,它呈现了一个HTML视图,可以在其中获取JSON数据。
您不能直接将JSON的纯数据而不是HTML呈现。
以上是 在ASP.NET MVC中对控制器进行简单的Ajax调用 的全部内容, 来源链接: utcz.com/qa/406602.html
