2017-04-07 3 views
0

Ich versuche, Jquery in einer ejs Vorlage zu verwenden, um ein Eingabe Auto-Vervollständigen Verwendung eines Arrays von dem Server zu dem template.i erhält die folgende Fehlermeldung gesendet zu machen:Verwendung jquery mit ejs Vorlage

ReferenceError: /var/www/html/DM/views/formulaire.ejs:8 
    6| <title>Formulaire </title> 
    7| </head> 
>> 8| <% 
    9| $("#depart").autocomplete({ 
    10| source: autoComp 
    11| }); 

$ is not defined 

I habe einige Nachforschungen angestellt und herausgefunden, dass man Client-seitiges JavaScript (jquery) nicht mit serverseitigem Javascript (ejs) verwenden kann, aber ich habe keine Lösung gefunden. Hier

ist der Code:

<!DOCTYPE html> 
<html lang="fr"> 
<head> 
<script src="https://code.jquery.com/jquery-3.1.1.js"></script> 
<meta charset="UTF-8"> 
<title>Formulaire </title> 
</head> 
<body> 
<script> 
$("#depart").autocomplete({ 
    source: autoComp 
}); 
</script> 

    <form action="/result" method="post"> 
    Départ:<input type="text" name="depart" id="depart"><br> 
    Arrivée: <input type="text" name="arrivee"><br> 
    <input type="submit" value="Chercher un itinéraire"> 
    </form> 
    <% 
    if(erreur){ 
    %> <p>Erreur lors de la saisie des stations</p> 
    <% 
    } 
    %> 
</body> 
</html> 

Vielen Dank für Ihre Hilfe

EDIT: Kein Fehler mehr, aber automatische Vervollständigung funktioniert nicht.

Antwort

1

Sie müssen in einem <script> Tag

ändern

<% 
$("#depart").autocomplete({ 
    source: autoComp 
}); 
%> 

Um

<script> 
    $("#depart").autocomplete({ 
     source: autoComp 
    }); 
</script> 

Client-Seite Code setzen und in dem Kopf oder Körper steckt es

+0

Danke für Ihre Antworten. Ich habe das versucht, ich habe den Fehler nicht mehr, aber die automatische Vervollständigung funktioniert nicht. Habe ich Zugriff auf die AutoComp-Variable, die vom Server gesendet wird? Wenn ich versuche, die Variable in <% %> zu drucken, funktioniert es scheinbar so, aber in

Verwandte Themen