【问题标题】:For Loop generate URL didn't workFor Loop 生成 URL 不起作用
【发布时间】:2017-11-20 00:24:09
【问题描述】:

我想将{{ url('character/c1') }} 写成localhost:8000/character/c1,但它在 JavaScript 函数中不起作用。

它产生了确切的localhost:8000/{{ url('character/c1') }} 链接。

这是我的代码:

<script type="text/javascript">

    var characters = [
      "geer",
      "daar",
      "geet",
      "geen"
    ]

    var character = "";
    var i;

    for (i = 0; i < characters.length; i++) {
      character += "<a href=\"\{\{ url('character/c" + i + "') \}\}\"><li></li>" + "</a>";
    }

    document.getElementById('characters').innerHTML = character;
</script>

<ul id="characters"></ul>

【问题讨论】:

  • 检查我的答案。希望它会有所帮助。

标签: javascript php html arrays laravel


【解决方案1】:

谢谢大家,我自己搞定了。 这是因为 c1 在路由 get(/character/{id})

for (i = 0; i < characters.length; i++) {
  character += '<a href="c' + i + '"><li></li></a>';
}

【讨论】:

    【解决方案2】:

    这样写你的for循环,

    var url = {{ url('character') }};
    for (i = 0; i < characters.length; i++) {
      character += '<a href="' + url + '/c' + i + '"><li></li></a>';
    }
    

    【讨论】:

    • 你需要在浏览器控制台调试你的js代码。检查失败的地方。
    • 语法错误:缺失; before语句[了解更多]变量变为var url = http://localhost:8000/character;
    【解决方案3】:

    在for循环之前添加这一行

    var url = window.location; // To get current window url
    var url = "<?php echo $_SERVER['SERVER_NAME'] ?>" + ":<?php echo $_SERVER['SERVER_PORT'] ?>"; // To get your server name with Port
    

    然后在 for 循环中像这样修改该行。

    character += "<a href=\"\{\{" +  url + "('character/c" + i + "') \}\}\"><li><img src=\"character/list/c" + i +  "/icon.png\"></li>" + "</a>";
    

    window.location 将为您提供当前网址。当然,如果您只想要您的服务器名称。您可以选择 php 选项。

    干杯。编码愉快。

    【讨论】:

    • 这是我得到的:localhost:8000/character/{{127.0.0.1:8000('character/c1') }}
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-24
    • 1970-01-01
    • 2015-08-11
    • 1970-01-01
    • 2016-07-28
    • 1970-01-01
    相关资源
    最近更新 更多