为 AJAX 开机自检呼叫设置控制器



在发现并找出我以前的代码中的问题后,我意识到我的控制器页面一直在阻止对它的调用。我对如何在 vb 中编码一无所知,但这就是这个项目的基础。我目前正在搜索以确保我的控制器页面将正确设置以接收来自我的 ajax 函数的 post 调用。

JQuery Code

$('#Vehicle_KovId_value').change(function () {
        var kovID = $(this).val();
        alert("Hello!");
        if (kovID != null && kovID != '') {
            $('#Vehicle_BodyStyle_value').get(0).options.length = 0;
            $('#Vehicle_BodyStyle_value').get(0).options[0] = new Option('Please Select One', '-1');
            $.ajax({
                type: "POST",
                url: '/ProjectName/Controllers/AjaxController/Index',
                async: true,
                data: { KovID: kovID },
                contentType: "application/json; charset=utf-8",
                dataType: "json",
                success: function (msg) {
                    $('#Vehicle_BodyStyle_value').get(0).options.length = 0;
                    $('#Vehicle_BodyStyle_value').get(0).options[0] = new Option("Please Select One", "-1");
                    alert("Worked!");
                    $.each(msg.d, function (index, item) {
                        $('#Vehicle_BodyStyle_value').get(0).options[$('#Vehicle_BodyStyle_value').get(0).options.length] = new Option(item.Display, item.Value);
                    });
                },
                error: function () {
                    $('#Vehicle_BodyStyle_value').get(0).options.length = 0;
                    $('#Vehicle_BodyStyle_value').get(0).options[0] = new Option("Error!", "-1");
                    alert("Failed to load styles");
                }
            });
        }
    });

控制器类

<AcceptVerbs(HttpVerbs.Post), Authorize> _
        Function Index() As ActionResult
            Return View()
        End Function

我目前在Firebug中查看程序时收到此错误:

The HTTP verb POST used to access path '/ProjectName/Controllers/AjaxController/Index' is not allowed.

我对 vb 一无所知,也没有找到任何关于如何正确构建此控制器的有用页面或问题,以便调用至少在函数处遇到断点。我确实了解该功能本身现在不起作用。我担心的是控制器根本不接受调用,因此甚至没有命中断点。

任何提示或建议都会有所帮助,或者指向可能有助于此目的的页面的链接。提前感谢您的任何建议!

我想出了我的问题。我不得不删除dataType: "json";它工作得很好。

我还必须将type: "POST";更改为type: "GET";否则它无法正确调用。

最新更新