Amit J: Netzwerkfehler 404, file not found, wird aber trotzdem ausgeführt

Hallo, ich möchte eine dynamische Webseite mit jquery erstellen, bekomme aber eine eigenartige Fehlermeldung in Firebug unter Netzwerk: GET manageappointment_types.js 404 file not found. Ich hätte angenommen, dass mein js-file im falschen Ordner liegt, aber das eigenartige ist, dass dieser trotzdem ausgeführt wird. Ich habe gleich am Anfang ein alert() gesetzt und tatsächlich sprint mir jedesmal beim neuladen ein Dialogfenster mit "komm rein" entgegen.

manageappointment_types.php:

<link rel='STYLESHEET' href='../../include/bootstrap-3-timepicker-master/css/bootstrap-timepicker.min.css' type='text/css'>
<script type="text/javascript" language="javascript" src="../../include/bootstrap-3-timepicker-master/js/bootstrap-timepicker.min.js"></script>

<script type="text/javascript" language="javascript" src="includes/js/manageappointment_types.js"></script>

manageappointment_types.js:

$(document).ready(function() {
    alert("komm rein");
});

Danke schon mal im voraus.

  1. @@Amit J

    Nichts zu deinem 404er, aber zu deinem HTML:

    <link rel='STYLESHEET' href='../../include/bootstrap-3-timepicker-master/css/bootstrap-timepicker.min.css' type='text/css'>
    

    Auch wenn HTML an dieser Stelle case-insensitiv ist, bietet sich doch die Kleinschreibung von Element- und Attributbezeichnern und Schlüsselwörtern wie stylesheet an.

    text/css ist der Defaulttyp für Stylesheets; die explizite Angabe ist überflüssig.

    <script type="text/javascript" language="javascript" src="../../include/bootstrap-3-timepicker-master/js/bootstrap-timepicker.min.js"></script>
    

    text/javascript ist der Defaulttyp für Scripte; die explizite Angabe ist überflüssig.

    language="javascript" war schon immer unsinnig; weg damit!

    <script type="text/javascript" language="javascript" src="includes/js/manageappointment_types.js"></script>
    

    Dito.

    Außerdem bietet es sich an, in einer Sprache konsequent dieselben Anführungszeichen zu verwenden – entweder überall einfache oder überall doppelte.

    Ich verwende in HTML doppelte; in JavaScript und PHP einfache. (Und ja, mir ist der Unterschied in PHP bewusst. Deshalb ja einfache.)

    LLAP 🖖

    --
    “I love to go to JS conferences to speak about how to avoid using JavaScript. Please learn CSS & HTML to reduce your JS code bloat.” —Estelle Weyl
  2. Ist es denn auf Grund Deiner Verzeichnisstruktur richtig, dass ein Fehler gemeldet wird? Wenn das js relativ zum php File im Ordner includes/js liegt, ist die Meldung falsch. Liegt es anderswo, ist die Meldung korrekt.

    Guck auf jeden Fall in das übertragene HTML; ich kenne dein PHP nicht und vielleicht mogelt sich noch ein anderer Script-Block dazu, der dein JS File holt. Auch das sollte im Netzwerktrace zu erkennen sein.

    Oder wird das js vielleicht serverseitig irgendwo inkludiert?

    Rolf

    1. Tatsächlich war das woanders inkludiert, allerdings nicht so:

      <script type="text/javascript" language="javascript" src="includes/js/manageappointment_types.js"></script>
      

      sondern so:

      <script language="javascript" type="text/javascript" src="includes/js/<?= substr(end($self),0,-4); ?>.js"></script>
      

      mein php-skript hieß allerdings nicht wie mein js file.

      Ich habe bei der gelegenheit auch gleich mein html file aufgeräumt

      1. Hallo Amit J,

        <script language="javascript" type="text/javascript" src="includes/js/<?= substr(end($self),0,-4); ?>.js"></script>
        

        Ich habe bei der gelegenheit auch gleich mein html file aufgeräumt

        So richtig? Also mit HTML5 und so? Dann sollte es nämlich heißen

        <script src="includes/js/<?= substr(end($self),0,-4); ?>.js"></script>
        

        Auch bei älteren HTML-Varianten lässt sich auf das language-Attribut verzichten. Wie der Gunnar so oft schreibt, es war schon immer Blödsinn. Es trug nämlich lediglich einen Teil der Informationen, die auch das type-Attribut transportierte, die allerdings in nicht standardisierter Form. text/javascript hingegen ist seit HTML5 der default-Wert für das type-Attribut von script-Elementen.

        Bis demnächst
        Matthias

        --
        Dieses Forum nutzt Markdown. Im Wiki erhalten Sie Hilfe bei der Formatierung Ihrer Beiträge.