在我之前的代码中发现并找出问题之后,我意识到我的控制器页面一直在阻止对它的调用。我对如何在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一无所知,并且我没有找到任何有用的页面或问题如何正确构建此控制器,因此调用至少会在函数处出现断点。我明白功能本身现在不会起作用。我关心的是控制器根本不接受呼叫,因此甚至没有达到断点。
任何提示或建议都会有所帮助,或链接到可能有助于此的页面。提前感谢您的任何建议!
答案 0 :(得分:1)
我发现了我的问题。我不得不删除dataType: "json";
,它完美无缺。
我还必须将type: "POST";
更改为type: "GET";
,否则调用不正确。