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