Skip to main content
 首页 » 编程设计

javascript之来自 Url.Content 的不匹配 Url

2024年08月06日37haluo1

通过 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