1

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

jQuery 代码

$('#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一无所知,也没有找到任何有用的页面或关于如何正确构建此控制器的问题,因此调用至少会在函数处遇到断点。我确实了解该功能本身现在不起作用。我关心的是控制器根本不接受呼叫,因此甚至没有达到断点。

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

4

1 回答 1

1

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

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

于 2013-10-07T19:50:46.210 回答