AJAX调用未按预期执行

时间:2015-04-27 21:22:27

标签: javascript jquery ajax asp.net-mvc

我正在尝试使用AJAX调用在选择单选按钮时呈现部分视图。我已经搜索并尝试了通过Stack上的评论看起来最好的方法。当我单击单选按钮,我没有结果,在调试中,我得到一个状态代码:500内部服务器错误?任何帮助都会很棒。

部分视图名称:

_BOA.cshtml
_TA.cshtml
_MNB.cshtml

查看:

                <td class="radio-inline">
                    @Html.RadioButton("bankSelect", "MNBConvert", false, new { @class = "radioMNB" }) MNB Conversion
                    @Html.RadioButton("bankSelect", "BOAConvert", false, new { @class = "radioBOA" }) BOA Conversion
                    @Html.RadioButton("bankSelect", "TAConvert", false, new { @class = "radioTA" }) TA Conversion
                </td>

使用Javascript:

<script src="~/Scripts/jquery-1.9.0.js"></script>
   <script type="text/javascript">
        $(function () {
            $("[name=bankSelect]").on('change', function () {
               // var $radio = $(this);
                var checked = $("input[name='bankSelect']:checked").val();

                $.ajax({
                    url: '@Url.Action("GetBankToConvert", "Home")',
                    data: checked,
                    type: 'GET',
                    success: function (data) {
                        $("#renderPartialView").html(data);
                    }
                });
            });
        });
    </script>

控制器:

[HttpGet]
        public ActionResult GetBankToConvert(string bankSelect)
        {
            if (bankSelect == "MNBConvert")
            {
                return PartialView("_MNB");
            }
            else if (bankSelect == "BOAConvert")
            {
                return PartialView("_BOA");
            }
            else
            {
                return PartialView("_TA");
            }
        }

1 个答案:

答案 0 :(得分:4)

您不能将密钥/值对作为数据发送,只能发送value

尝试

$.ajax({
    url: '@Url.Action("GetBankToConvert", "Home")',
    data: {bankSelect: checked },
    type: 'GET',
    success: function (data) {
        $("#renderPartialView").html(data);
    }
});

如有疑问,请检查浏览器开发工具的网络标签中的实际请求,以确切了解请求的所有其他组件中发送和接收的内容