2017-06-17 81 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>'; 
}