【问题标题】:JQuery inconsistent relative pathjQuery不一致的相对路径
【发布时间】:2021-06-24 08:50:16
【问题描述】:

我有一个带有使用 JQuery 加载方法的按钮的 Razor 页面。 页面的 url 路径包含父文件夹名称 .../父文件夹/索引。

JQuery 加载方法用于使用来自同一索引页面上的页面处理程序的结果填充 Bootstrap 模式 div。

要加载的页面处理程序方法是 ../ParentFolder/Index/Handler

我遇到的问题是 JQuery 按钮加载方法不会为页面处理程序生成一致的相对 url 路径。 按钮处的 URL 始终编码为“没有 ParentFolder 的索引/处理程序”。

$(function () {
        $('button.details').on('click', function () {
            $('.modal-body').load(`/Index/Handler`);
        });
    })

页面第一次加载时,我点击了它工作的按钮。 load 方法添加父文件夹名称并发出网络调用

.../父文件夹/索引/处理程序

但是,一旦我重新加载页面或导航回该页面,该按钮将不再起作用。 虽然是同一个页面的同一个按钮,但是请求路径不再包含父文件夹。 后续网络调用直接转到

.../Index/Handler(失败 404)

如果我在按钮的加载 URL 中包含父文件夹路径,则会遇到相反的问题。该页面第一次无法工作,因为文件夹名称出现两次(ParentFolder/ParentFolder/Index),但导航后会工作(ParentFolder/Index)

我对 Javascript 不是很有经验。我知道我可以检查代码中的 URL 属性,并在需要时通过字符串操作修改文件夹路径,但我怀疑我遗漏了一些更基本的东西。有什么更好的方法建议吗?谢谢

【问题讨论】:

  • 解释此/Index/Handler 的正确行为是将其附加到根路径。根(基本)路径可以通过<head> 部分内的<base> 元素指定。因此,不应为父文件夹添加前缀。我怀疑这里可能存在一些错误的假设。您应该再次仔细测试,尝试其他网址,...
  • 问题解决了!谢谢@KingKing!我将 元素添加到 以指定根路径 (.../ParentFolder/) ,并从我的 jQuery url (Index/...) 中删除了文件夹路径。 元素是我缺少的简单部分。 ——

标签: javascript html jquery asp.net-core razor-pages


【解决方案1】:

解释此 /Index/Handler 的正确行为是将其附加到根路径。可以通过节内的元素指定根(基本)路径。因此,不应为父文件夹添加前缀。我怀疑这里可能存在一些错误的假设。您应该再次仔细测试,尝试其他网址,... – king-king 3 月 28 日 2:44

【讨论】:

    猜你喜欢
    • 2016-05-16
    • 1970-01-01
    • 1970-01-01
    • 2015-02-09
    • 2013-07-14
    • 2023-03-26
    • 2014-02-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多