Fehler 404 für JavaScript-Dateien nicht gefunden, wenn auf Webseite mit localhost zugegriffen wird

6188
Lawrence DeSouza

Die Seite wird gut geladen, die Konsole zeigt jedoch einen Fehler 404 für JavaScript-Dateien, der nicht gefunden wurde. Ich habe überprüft, dass der Code den korrekten JavaScript-Dateinamen enthält. Irgendwelche Ideen?

Die JavaScript-Datei wird wie folgt natürlich per HTML geladen:

<script type="text/javascript" src="jquery.js"></script> 

Umgebung: Windows 7; FastCGI; PHP. Die Installationsanweisungen stammen von dieser Site:

http://www.microsoft.com/web/platform/phponwindows.aspx 

Ich habe eine einfache HTML-Datei erstellt, die folgendermaßen aussieht:

<html>  <head></head> <body>  hello again. <div id="11"> hello </div> <script type="text/javascript" src="http://localhost/analyst_scrape/jquery.js"></script>  <script type="text/javascript"> $("#11").click(fucntion(){  alert("good bye"); });  </script> </body> </html> 

Die HTML-Datei gibt mir eine leere Seite. Wenn ich jedoch die Datei ext in .php ändere, erhalte ich folgende Fehlermeldung in der Konsole:

GET http://localhost/analyst_scrape/jquery.js 404 (Not Found) test.php:10 Uncaught ReferenceError: $ is not defined  
1

1 Antwort auf die Frage

1
terdon

Sieht aus, als würden Sie einfach den falschen Pfad angeben. Sie haben keine Angaben dazu gemacht, was Sie tatsächlich tun. Dies ist nur eine Spekulation. Sie erwähnen cgi/phpalso, ich gehe davon aus, dass Sie eine Seite bereitstellen, die die HTML-Datei generiert, indem Sie ein phpSkript im cgi/phpVerzeichnis unter dem Stammverzeichnis Ihrer Seite ausführen.

Wenn dies der Fall ist, wenn sich das Stammverzeichnis Ihrer Seite befindet foo, dann befindet sich die angezeigte Seite foo/cgi/php/und Ihre Javascript-Datei wahrscheinlich in foosich. Versuchen Sie, den richtigen Pfad anzugeben:

<script type="text/javascript" src="../../jquery.js"></script> 

Oder sogar die vollständige URL:

<script type="text/javascript" src="http://www.foo.com/jquery.js"></script> 
Wenn ich die URL der JS-Datei eingebe, wird eine leere Seite in Chrome angezeigt. Lawrence DeSouza vor 10 Jahren 0
@LawrenceDeSouza Bitte erläutern Sie, wie Ihre Seite eingerichtet ist. Ein 40-4-Fehler bedeutet, dass die Datei nicht gefunden wurde, sodass Sie den falschen Pfad verwenden. Ich kann Ihnen nicht die richtige sagen, wenn Sie nicht erklären, wo sich Ihre `index.php`- oder` index.html'-Datei befindet, wo sich Ihre `js` befindet und wo sich Ihre` php` befindet. Wenn Sie eine leere Seite erhalten, haben Sie möglicherweise eine leere Datei. Befindet sich die Datei `jquery.js` wirklich dort, wo Sie denken, dass sie sich befindet? Ist es leer terdon vor 10 Jahren 0
Nein, die JS-Datei ist nicht leer. Es befindet sich im selben Ordner wie die Datei index.php: http: // localhost / ordnername / Lawrence DeSouza vor 10 Jahren 0
@LawrenceDeSouza OK, funktioniert es, wenn Sie eine minimale ".html" -Datei (nicht "php") erstellen und auf "jquery" verweisen? Wenn Chrome eine leere Seite enthält, ist _is_ eine Datei, die aber leer ist. terdon vor 10 Jahren 0
Ich habe eine einfache HTML-Datei erstellt, einschließlich des Javascript und einer einfachen Testfunktion der Jquery. Die HTML-Datei enthält eine leere Seite. Wenn ich jedoch eine PHP-Datei mache, erhalte ich die folgende Fehlermeldung: Uncog SyntaxError: Unerwartetes Token { Lawrence DeSouza vor 10 Jahren 0
Dies war der Code, den ich gesetzt habe:
Hallo
Lawrence DeSouza vor 10 Jahren 0
@LawrenceDeSouza Nun, das bedeutet nur, dass Sie einen Syntaxfehler haben, Sie haben {, wo Sie nicht sollten. Sie müssen das wirklich klarer erklären. Bitte [bearbeiten] Sie Ihre Frage und geben Sie ein minimales reproduzierbares Beispiel an. Im Moment müssen wir raten, wo sich Ihre Dateien befinden und wie sie aussehen. Sie müssen einen möglichst einfachen Fall einrichten, der diesen Fehler verursacht, und uns alles zur Verfügung stellen, was zu seiner Reproduktion erforderlich ist. terdon vor 10 Jahren 1
Ich habe dir das Beispiel in der obigen Zeile gegeben. Die Halterung ist richtig geschlossen. Lawrence DeSouza vor 10 Jahren 0
@LawrenceDeSouza Mein Kommentar wurde geschrieben, bevor Sie Ihren gepostet haben. Bitte [bearbeiten] Sie Ihre Frage, um neue Informationen hinzuzufügen, anstatt sie in Kommentare einzufügen. Es ist sehr schwer zu lesen. Wenn Sie URLs angeben, müssen Sie auch "http: // localhost / foo / jquery.js" verwenden. terdon vor 10 Jahren 1
Lassen Sie uns [diese Diskussion im Chat fortsetzen] (http://chat.stackexchange.com/rooms/12055/discussion-between-terdon-and-lawrence-desouza) terdon vor 10 Jahren 0