Socket.io не работает для развертывания в Heroku [duplicate]

вы можете изменить окна REGISTRY, чтобы исправить это,

сначала в regedit открыть этот путь:

HKLM \ SYSTEM \ CurrentControlSet \ Services \ Tcpip \ Parameters

и создать 4 новых DWORD в качестве этой клавиши и значения:

TcpTimedWaitDelay
REG_DWORD: 0000001e (hex)

MaxUserPort
REG_DWORD: 0000fffe (hex)

TcpNumConnections
REG_DWORD: 00fffffe (hex)

TcpMaxDataRetransmissions
REG_DWORD: 00000005 (hex)

как с этим снимком экрана:

ссылка

37
задан George Kagan 13 November 2016 в 14:26
поделиться

8 ответов

У вас есть элемент <script>, который пытается загрузить некоторый внешний JavaScript.

URL-адрес, который вы ему указали, указывает на файл JSON, а не на программу JavaScript.

Сервер правильно сообщает, что это JSON, поэтому браузер прерывается с этим сообщением об ошибке вместо того, чтобы пытаться выполнить JSON как JavaScript (что вызовет ошибку).


Коэффициенты заключаются в том, что базовые причина в том, что вы пытаетесь сделать запрос Ajax, попали в ошибку cross origin и попытались исправить это, сообщив jQuery, что вы используете JSONP. Это работает только в том случае, если URL-адрес предоставляет JSONP (который является другим подмножеством JavaScript), чего у этого нет.

Тот же URL-адрес с дополнительным параметром строки запроса callback=the_name_of_your_callback_function действительно возвращает JavaScript.

29
ответ дан Community 15 August 2018 в 18:18
поделиться
  • 1
    я теперь дал это, и он исправляет ошибку & lt; script id = & quot; data & quot; тип = & Quot; приложения / JSON & Quot; – rob.m 13 November 2016 в 14:18
  • 2
    но как мне отображать изображения, которые я должен получить, как говорит ссылка api? – rob.m 13 November 2016 в 14:18
  • 3
    type="application/json" - Теперь браузер знает, что он не пытается загрузить JavaScript, поэтому он полностью игнорирует элемент сценария. – Quentin 13 November 2016 в 14:22
  • 4
    «Как мне отображать изображения, которые я должен получить, как говорит ссылка api? & quot; - Найдите себе вводный учебник Ajax с JSONP – Quentin 13 November 2016 в 14:22

Этот результат является первым, что всплывает в google, и является более широким, чем то, что происходит здесь. Для экспресс-сервера будет применяться следующее:

Я пытался получить доступ к ресурсам из вложенной папки.

Внутри index.html у меня был

<script src="./script.js"></script>

Статический маршрут был установлен на:

app.use(express.static(__dirname));

Но script.js находится во вложенной папке, как в: js/myStaticApp/script.js Я просто изменил статический маршрут на:

app.use(express.static(path.join(__dirname, "js")));

Теперь он работает:)

11
ответ дан AIon 15 August 2018 в 18:18
поделиться

В моем случае это был файл не найден, я неверно ввел путь к файлу javascript.

22
ответ дан mruanova 15 August 2018 в 18:18
поделиться
  • 1
    Такой же. Неправильный путь приводит к некорректному ответу html-страницы, что, в свою очередь, вызывает это запутанное сообщение об ошибке. – Gil Roitto 27 July 2018 в 08:45

Попробуйте использовать express.static (), если вы используете Node.js.

Вам просто нужно передать имя каталога, в котором вы сохраняете свои статические активы, в промежуточное программное обеспечение express.static, чтобы начать обслуживать файлы напрямую. Например, если вы сохраняете файлы изображений, CSS и JavaScript в каталоге с именем public, вы можете сделать это, как показано ниже:

i.e. : app.use (express.static ('public'));

Этот подход разрешил мою проблему.

Спасибо,

0
ответ дан Nimesh 15 August 2018 в 18:18
поделиться
  • 1
    может быть неправильным ответом на этот конкретный вопрос, но это решение моей проблемы. Благодаря! – mcheah 22 July 2018 в 22:07

В моем случае это имело символическую ссылку для 404-го файла, и мой Tomcat не был настроен для разрешения символических ссылок.

-2
ответ дан s1m3n 15 August 2018 в 18:18
поделиться

Я решил свою проблему, добавив только $ {pageContext.request.contextPath} в мой путь jsp. вместо:

 <script    src="static/js/jquery-3.2.1.min.js"></script>

Я установил:

 <script    src="${pageContext.request.contextPath}/static/js/jquery-3.2.1.min.js"></script>
-10
ответ дан Yassine Bsf 15 August 2018 в 18:18
поделиться
0
ответ дан Oseni Adefemi 29 October 2018 в 01:34
поделиться
0
ответ дан Tom Hoffmann V. 29 October 2018 в 01:34
поделиться
Другие вопросы по тегам:

Похожие вопросы: