简体   繁体   English

AJAX呼叫未按预期运行

[英]AJAX call not acting as expected

I am attempting to use an AJAX call to render a partial view when a radio button is selected. 选择单选按钮时,我尝试使用AJAX调用来呈现局部视图。 I have searched and have tried what appears to be the best approach via comments on Stack. 我已经搜索并尝试通过Stack上的注释来寻找最佳方法。 When I click the radio button, I have no result, in debug, I get a Status Code: 500 Internal Server Error? 当我单击单选按钮时,没有任何结果,在调试中,我得到一个状态码:500 Internal Server Error? Any assistance would be great. 任何帮助都会很棒。

Partial View Names: 部分视图名称:

_BOA.cshtml
_TA.cshtml
_MNB.cshtml

View: 视图:

                <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: 使用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>

Controller: 控制器:

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

You aren't sending a key/value pair as data, only a value . 您不会将键/值对作为数据发送,而只是发送一个value

Try 尝试

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

WHen in doubt, inspect the actual request in network tab of browser dev tools to see exactly what is sent and received among all the other components of a request 如果有疑问,请在浏览器开发工具的“网络”选项卡中检查实际请求,以查看请求的所有其他组件之间准确发送和接收的内容

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM