通过 Ajax,我尝试使用以下代码点击 Controller (主页)的操作方法(城市)
url: '@Url.Content("~/Home/city")',
从地址栏我发现 Url 不匹配,因为我在不同的 Controller 中。例如,如果我在站点 Controller 中,那么它将重定向到站点/主页/城市。取而代之的是它应该重定向到 Home/city。意味着它采用当前 Controller 和我通过 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
