我对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";
}
}
两个警报(&#34;内容和网址已设置&#34;,&#34;在帖子&#34之外调用;)正在被触发,但ajax部分根本不起作用。我在这做错了什么?
答案 0 :(得分:2)
如果您的控制器类名为AccountController
,则网址应为/Account/CheckRegisteredCard
。
您是否检查过浏览器的网络标签?我打赌有一个404错误。
如果这个javascript片段在.cshtml文件中,我建议使用@Url.Action()
来获取网址字符串。
答案 1 :(得分:2)
我建议使用Fiddler并在进行ajax调用时将其打开。这将告诉您(1)是否正在进行呼叫或是否立即失败,以及(2)您从控制器接收的是什么样的响应。同意Jason P关于url应该如何调用控制器。