【问题标题】:MVC 4 json via ajax not working?通过 ajax 的 MVC 4 json 不起作用?
【发布时间】:2016-11-20 08:06:36
【问题描述】:

所以我正在制作一个级联下拉列表,这是我的代码,

控制器:

    public JsonResult GetStates(string id)
    {
        List<SelectListItem> ListOfStates = new List<SelectListItem>();
        var TempSlist = this.GetStateList(Convert.ToInt32(id));
        var StateData = TempSlist.Select(m => new SelectListItem()
            {
                Text = m.SName,
                Value= m.SID.ToString(),
            });

        return Json(StateData, JsonRequestBehavior.AllowGet);
    }

    public IList<StateList> GetStateList(int CID)
    {
        GetCSCTContext DB = new GetCSCTContext();

        return DB.StateLists.Where(m => m.CID_FK == CID).ToList();
    }


}

对于

查看

<script type="text/javascript">
        $(document).ready(function () {
            $("#StatesDDL").hide();
            $('#CntryDDL').change(function () {
                $('#StatesDDL').show();

            $.ajax({

                type: 'POST',
                url: '@Url.Action("GetStates", "Register")',
                dataType: 'json',
                data :
                    {
                        id: $('#CntryDDL').val()
                    },
                success: function (states)
                {
                    alert(CID);
                    $.each(states, function (i, state) {
                        $('#StatesDDL').append('<option value="' + state.Value + '">'
                            + state.Text + '</option>');
                    });
                },
            });

我一直试图让这个 ajax 部分工作,但我没有通过浏览器看到任何错误,当我尝试在控制器中执行断点时,它似乎没有触发控制器中的功能。

【问题讨论】:

  • 是POST调用还是GET调用?

标签: c# jquery sql json ajax


【解决方案1】:

您提到调试时不会触发 ajax 调用。所以你可以写:

GET 方法而不是 POST 作为您的控制器函数也将参数作为 get 参数。

public JsonResult GetStates(string id) // get -> string id

或者你可能喜欢:

public JsonResult GetStates(){
   string id = Request.Params["id"]
    ........
}

【讨论】:

    猜你喜欢
    • 2012-02-17
    • 2019-11-22
    • 1970-01-01
    • 2012-02-22
    • 2019-03-13
    • 2012-08-13
    • 2015-05-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多