【问题标题】:javascript variable in location.hreflocation.href 中的 javascript 变量
【发布时间】:2018-09-09 07:07:09
【问题描述】:

在 javascript 中我有这个变量:

var selectedItemId = null; // the actual value is set from another function

那我就有这个功能了:

function editLink() {
    location.href = /*[[@{/supplycontracts/edit/}]]*/'';
}

现在我想将变量添加到href中,最后它看起来像这样:

http://localhost:8080/myApp/supplycontracts/edit/?contractId=4

末尾的数字“4”是已经替换的 selectedItemId。

我试过这样的东西:

location.href = /*[[@{/supplycontracts/edit(${selectedItemId})}]]*/'';

但是没用。

如果我这样做:

location.href = /*[[@{/supplycontracts/edit(selectedItemId)}]]*/'';

我只知道

http://localhost:8080/supply-app-0.0.1-SNAPSHOT/supplycontracts/edit?selectedItemId

如何将 selectedItemId 传递给 href 以便获得正确的链接?

【问题讨论】:

  • '';看起来很奇怪!是一些编译代码吗?
  • 不,我认为这是一种百里香叶。我展示的第一个代码确实有效。它会将我发送到通用编辑页面。但是我需要这个参数,所以我可以编辑一个特定的项目。
  • 全部嵌入在这个里面:
  • Java i 来宾的春天。是否可以让它变得简单,例如: location.href = /*[[@{/supplycontracts/edit/}]]*/'' + selectedItemId; ,看看这个qnswer也许可以帮助你:stackoverflow.com/questions/25687816/…
  • 你说得对,我使用 Java、Spring 和 Thymeleaf。我正在尝试您链接的答案中的内容。您的建议似乎不起作用,因为字符串没有进入最终链接

标签: javascript thymeleaf


【解决方案1】:

由于某种原因,按照 Nikola Lukic 的建议在同一行添加参数对我不起作用,尽管我在其他来源中也看到了这种表示法。最终奏效的是:

function editLink() {
    var baseUrl = /*[[@{/supplycontracts/edit}]]*/'';
    location.href = baseUrl + "?contractId=" + selectedItemId;
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-12-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-23
    • 1970-01-01
    • 2011-01-23
    相关资源
    最近更新 更多