我在MobileController中有一个名为'myaction'的动作,我用javascript调用它:
<script type="text/javascript">
function SubmitData() {
$.ajax(
{
type: "POST",
url: "http://localhost:1613/Mobile/myaction",
data: "id to post",
success:
function (result) {
window.alert("SUCCESS");
},
error: function (req, status, error) {
window.alert("ERROR!");
}
}
);
}
</script>
请注意,url并没有使用相对路径,我尝试将其设为〜/ Mobile / myaction但是没有用。
任何想法我怎么能这样做所以指向的URL将在所有情况下工作,而不仅仅是域名localhost:1613?就像我将它上传到mysite.com一样,它会在mysite.com/mobile/myaction找到动作。
感谢您的帮助!
答案 0 :(得分:3)
你试过了吗?
url: "@Url.Action(....)",
答案 1 :(得分:2)
将网址替换为:
url: "/Mobile/myaction"
使用~
符号,它只能用于服务器控件/函数。
答案 2 :(得分:2)
url: "@Url.Content("~/appName/Mobile/myaction/")"
Html ::“/ appName / Mobile / myaction /”
我建议你给你的应用程序虚拟路径“/ appName”这样做我将允许你避免url中的appName
答案 3 :(得分:1)
您可以使用以下内容:
new UrlHelper( HttpContext.Current.Request.RequestContext ).Action( "<action>", "<controller>", new { id = 1 } )
我正在使用它来将值传递给javascript函数