我正在尝试通过jquery和ASP.NET MVC一起使用AJAX,但我无法点击我的控制器操作,我认为这可能是因为我的网址没有正确指定。
问题是,我不确定应该是什么!
假设我有一个名为“Home”的控制器,以及一个名为“AjaxAction”的动作,jquery会是这样吗?
$.get("Home/AjaxAction");
这对我来说似乎没有用,所以我想知道是否有一种更正确的方法可以使用Html助手或ASP.NET MVC中的某些东西来做到这一点。
例如,是否有人尝试过这样的事情?
<a href="#"
onclick="doSomeFunction('<%= Url.Action("AjaxAction", "Home") %>')">
Click Me
</a>
<script>
function doSomeFunction(url)
{
$.get(url);
}
</script>
那会工作还是我在错误的树上吠叫?我自己尝试过,但它没有用,但我不确定是不是因为我做错了什么,或者是因为整个方法都不正确。
答案 0 :(得分:1)
不知道你是否剪错了,但你错过了一个括号。另外,在网址周围添加单引号。
onclick="doSomeFunction('<%= Url.Action("AjaxAction", "Home") %>')"
给那个镜头。
我的代码中唯一的另一个区别是doSomeFunction()前面的'return',但我是一个javascript白痴,所以可能只是从其他地方剪切/粘贴,不知道你是否需要它。
答案 1 :(得分:0)
它应该工作。我看起来有点不同,但在概念上相似:
<script type="text/javascript">
function myFunct() {
var url = '<%= Url.Action ("AjaxAction", "Home") %>';
$.get(url, function(data) {
// do stuff here
});
}
</script>
我的HTML:
<a href="javascript:myFunct()">click here</a>
答案 2 :(得分:0)
当Web是默认页面时您的代码($ .post(“Home / AjaxAction”);)是正确的
否则你必须指定(($。post(“AjaxAction”);)actionmethod Only
-Muthukumar