通过Ajax我试图使用下面的代码命中控制器(Home)的动作方法(城市)
url: '@Url.Content("~/Home/city")',
从地址栏我发现Url不匹配,因为我在不同的控制器中。例如,如果我在站点控制器中,那么它将重定向到站点/主页/城市。取而代之的是它应该重定向到Home / city。意味着它接受当前控制器和我通过Url.Content传递的URL。 如果我在.aspx中放置javascript代码,那么Url正确地重定向,如果javascript代码在单独的文件中,则会引发上述问题。 如何从javascript重定向到特定的Url?
答案 0 :(得分:3)
如果您的JavaScript位于外部文件中,则可以使用以下技术访问操作的路径路径。
只需将url附加到调用ajax调用的元素作为数据属性。
在下面的示例中,我将其附加到输入按钮。
<input data-url="@Url.Action("city", "Home")" value="DoPost" />
然后从你的事件处理程序中你可以使用jQuery data
方法来读取属性,即
var superUrl = $(this).data('url');
然后在你的ajax调用中使用它:
url: superUrl