为ajax post call设置控制器

时间:2013-10-07 16:51:34

标签: jquery ajax vb.net

在我之前的代码中发现并找出问题之后,我意识到我的控制器页面一直在阻止对它的调用。我对如何在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一无所知,并且我没有找到任何有用的页面或问题如何正确构建此控制器,因此调用至少会在函数处出现断点。我明白功能本身现在不会起作用。我关心的是控制器根本不接受呼叫,因此甚至没有达到断点。

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

1 个答案:

答案 0 :(得分:1)

我发现了我的问题。我不得不删除dataType: "json";,它完美无缺。

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