#javascript #html #node.js #socket.io
#javascript #HTML #node.js #socket.io
Вопрос:
У меня проблема с Socket.io , я использую express, и мне нужны два HTML-файла, которые могут отправлять сообщения на сервер. Но один из двух файлов отправляет сообщение об ошибке:
Failed to load resource: net::ERR_FILE_NOT_FOUND
add.html:26 Uncaught ReferenceError: io is not defined
at add.html:26
Вот мой код:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Aggiungi una storia</title>
</head>
<body>
<!--!link-->
<p class="i_link">Storia:</p>
<textarea name="link" id="Story_Text" cols="100" rows="20"></textarea><br>
<!--!name-->
<p class="i_name">Nome:</p>
<textarea name="name" id="Story_Name" cols="50" rows="1"></textarea><br>
<!--!number-->
<p class="i_number">Numero Atto:</p>
<textarea name="number" id="Story_Number" cols="1" rows="1"></textarea><br>
<!--!author-->
<p class="i_author">Autore:</p>
<textarea name="author" id="Story_Author" cols="50" rows="1"></textarea><br>
<button onclick="myFunction()">Click me</button>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script>
<script src="/socket.io/socket.io.js"></script>
<script>
var socket = io();
function myFunction() {
let link = $('#Story_Text').val();
let number = $('#Story_Number').val();
let author = $('#Story_Author').val();
let name = $('#Story_Name').val();
console.log(link number author name)
}
</script>
</body>
</html>
Как я могу это решить?
Заранее спасибо и извините за плохой английский!
Ответ №1:
Вы установили socket.io ? npm install socket.io
Ответ №2:
Кажется, ваша ссылка на «Socket.io » файл js неверен.
<script src="/socket.io/socket.io.js"></script> <!-- here -->
Пожалуйста, убедитесь, что он указывает на правильный файл, проверьте вкладку сети браузера, чтобы увидеть, правильно ли загружен скрипт. Когда это произойдет, функция ввода-вывода будет доступна
Ответ №3:
Похоже, он не может найти файл /socket.io/socket.io.js
https://socket.io/docs/v3/client-installation/#Installation
По умолчанию сокет.Сервер ввода-вывода предоставляет клиентский пакет в /socket.io/socket.io.js .
У вас запущен сервер? В противном случае вы можете попробовать путь cdn, чтобы посмотреть, работает ли это:
<script src="https://cdn.socket.io/socket.io-3.0.1.min.js"></script>
Комментарии:
1. теперь отправьте эту ошибку: не удалось загрузить ресурс: net:: ERR_NAME_NOT_RESOLVED DevTools не удалось загрузить исходную карту: не удалось загрузить содержимое для cdn.socket.io/socket.io.min.js.map : Ошибка HTTP: код состояния 404, net::ОШИБКА HTTP_RESPONSE_CODE_FAILURE file/socket.io/?EIO= 4amp; transport=опрос amp; t= NTEdATQ:1 Не удалось загрузить ресурс: net::ERR_NAME_NOT_RESOLVED socket.io-3.0.1.min.js:6 ПОЛУЧИТЬ file/socket.io/?EIO=4amp;transport=опрос amp;t = NTEdBJq net::ERR_NAME_NOT_RESOLVED
2. Вы запускаете свой веб-сайт локально без сервера? Просто догадываюсь здесь, но это может объяснить, почему он не загружает скрипт.