对控制器上方法的Ajax调用不起作用
本文关键字:Ajax 调用 不起作用 方法 控制器 | 更新日期: 2023-09-27 18:13:56
我是很新的MVC和我试图调用一个方法到我的控制器之一。
<script>
function checkCardNumber() {
var content = $('#card-number').val();
var url = "AccountController/CheckRegisteredCard";
alert("content and URL are set");
$.post(url, { cardNumber: content }, function (data) {
alert(data);
});
alert("called outside of Post");
}
</script>
这是c#控制器端:
[HttpPost]
public string CheckRegisteredCard(string cardNumber)
{
if (/*some condition*/)
{
return "";
}
else
{
return "some string";
}
}
两个警报("内容和URL设置","调用外的帖子")被触发,但ajax部分不工作。我哪里做错了?
如果控制器类名为AccountController
,则url应为/Account/CheckRegisteredCard
。
您是否检查了浏览器的网络选项卡?我敢打赌是404错误。
如果这个javascript片段在。cshtml文件中,我建议使用@Url.Action()
来获取url字符串
我建议使用Fiddler,并在进行ajax调用时打开它。这将告诉您(1)调用是否正在进行或立即失败,以及(2)您从控制器接收到什么样的响应。也同意Jason P关于url应该如何调用控制器的看法。