2017-06-17 62 views
0

我想写{{ url('character/c1') }}localhost:8000/character/c1但它没有在JavaScript函数内部工作。For Loop生成的URL没有工作

它产生了确切的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> 
+0

检查我的答案里面。希望这会有所帮助。 –

回答

1

写您的for循环,因为这,

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

它没有工作,循环不生成任何东西。 –

+0

您需要在浏览器控制台中调试您的js代码。检查哪里失败。 –

+0

SyntaxError:missing;之前的声明[了解更多] 该变量变成'var url = http:// localhost:8000/character;' –

1

前加入这一行循环

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选项。

干杯。快乐的编码。

+0

这里是我得到的:'localhost:8000/character/{{127.0.0.1:8000('character/c1')}}' –

+0

谢谢,现在已经有效了。 –

0

谢谢大家,我已经找出自己。 这是因为c1是一个路由get(/character/{id})

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