2016-07-06 6 views
-6

Ich folgte so einige vorherige Dinge, die ich gefragt habe Ich stieß auf ein Problem mit meinem JS. Ich wollte es in einer anderen Datei für mein Chat-System mit Knoten, Socket.IO und JS. Ich hatte die JS in der Indexdatei, aber ich möchte es in einer eigenen Datei.Mein JS funktioniert nicht (Chat-Anwendung)

Ich weiß, dass Sie app.use(express.static('public)); verwenden müssen, was ich getan habe. Mein CSS arbeitet in einer separaten Datei im Verzeichnis /css/styles.css (im Öffentlichen Ordner), aber mein JS möchte nicht im Öffentlichen Ordner arbeiten.

Mein Code in index.html zu importieren <script type="text/javascipt" src="/js/java.js"></script>. Ich weiß nicht, ob das falsch ist, wenn ja, bitte korrigiert mich.

Jede Hilfe, warum mein JS nicht funktioniert, wäre großartig. Vielen Dank.

Ok, so dass weitere Informationen hinzugefügt werden, bekomme ich keine Fehler Client-Seite oder Server-Seite überhaupt. Dies ist meine gesamte JS-Datei für das Chat-System.

$('document').ready(function(){ 
var socket = io.connect(); 
var $messages = $('#messages'); 
var $m = $('#m'); 
var $submitForm = $('#submitForm'); 
var $userFormArea = $('#userFormArea'); 
var $userForm = $('#userForm'); 
var $username = $('#username'); 
var $errorText = $('#errorText'); 
var $messageFormArea = $('#messageFormArea'); 
$errorText.hide(); 
$messageFormArea.hide(); 
$submitForm.submit(function(e){ 
    e.preventDefault(); 
    socket.emit('chat message', $m.val()); 
    $m.val(''); 
    return false; 
}); 
socket.on('sent message', function(data){ 
    $messages.append('<li><strong>'+data.user+'</strong>: '+data.msg+'</li>'); 
}); 

socket.on('bad message', function(data){ 
    $messages.append('<li><strong>'+data.user+'</strong>: Was trying to send invalid character!</li>'); 
}); 

$userForm.submit(function(e){ 
e.preventDefault(); 
if($username.val() === ''){ 
    $errorText.show(); 
} else if ($username.val() === '<'){ 
    $errorText.show(); 
} else if($username.val() === '>'){ 
    $errorText.show(); 
} else { 
    $errorText.hide(); 
    socket.emit('new user', $username.val(), function(data){ 
    if(data){ 
     $userFormArea.hide(); 
     $messageFormArea.show(); 
    } 
    }); 
} 
$username.val(''); 
}); 
}); 

Baring im Hinterkopf das war in der index.html. Alle Fixes/Lösungen wären großartig. Vielen Dank!

+3

idk wenn das lösen wird aber deine 'app.use (express.static ('public));' fehlt ein '' 'nach dem Wort' public ' –

+2

Welche Fehler bekommst du? Wenn möglich, sollten Sie ein minimales vollständiges Beispiel veröffentlichen, damit wir es reproduzieren und effektiver debuggen können. – ssube

+1

Sie haben auch 'text/javascript' geschrieben. – duskwuff

Antwort

0

Die JS-Datei funktionierte nicht, weil ich Javascript falsch geschrieben habe.