javascript - 应用程序在 127.0.0.1 上运行良好,但从其他设备访问时无法正常运行
问题描述
我设法使用 nodejs 发布了我的应用程序,并且可以从网络中的设备访问它(请注意,它只是一个本地应用程序)。这是一个用于控制连接到我的网络的其他硬件的应用程序。
我现在遇到的问题是,当我从托管它的本地 PC 从 127.0.0.1:8081 打开它时,该应用程序运行正常,但是如果我尝试从另一台设备(甚至从托管 PC 本身)通过使用托管 PC 的 IP 192.168.zz:8081,javascript 文件不起作用,这就是我的意思。
我有一个 config.js 文件,其中包含我的应用程序需要运行的配置数据,例如我正在控制的设备的 IP。
var config = {
URL: '192.168.0.2',
}
然后我有一个包含 SetData 和 GetData 的 Model.js 文件,它们都依赖于 config.URL 来执行它们的 AJAX 请求,但是 config.URL 保持为空,它的硬编码仍然是空的!
当我运行应用程序并在控制台中执行 config.URL 时,我得到 null,即使我在控制台中手动设置 config.URL = '192.168.0.2',然后尝试调用 Model.SetData .....或 Model.GetData ......他们仍然没有看到它,他们仍在尝试向http://null/发送请求......
这是我的节点代码:
const express = require("express");
const app = express();
const port = 8081
app.use(express.static('public'))
app.use('/css', express.static(__dirname + '/public/css'));
app.use('/js', express.static(__dirname + '/public/js'));
app.listen(port, () => console.log(`Example app listening at http://localhost:${port}`));
我尝试过使用和不使用 app.use(/css 和 /js 代码行,没有变化
这是我的 JS 是如何添加到我的 html 中的
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Robot Stuff</title>
<script type="text/javascript" src="./js/jquery-3.5.0.js"></script>
<script type="text/javascript" src="./assets/scripts/main.js"></script>
<script type="text/javascript" src="./js/easy-numpad.js"></script>
<script type="text/javascript" src="./js/jquery-modal.js"></script>
<script type="text/javascript" src="./js/Model.js"></script>
<script type="text/javascript" src="./js/UI.js"></script>
<script type="text/javascript" src="./js/config.js"></script>
<link href="./css/main.css" rel="stylesheet" type="text/css" >
<link href="./css/easy-numpad.css" rel="stylesheet" type="text/css" >
同样,如果我从http://127.0.0.1:8081打开该应用程序,或者直接双击我的 index.html 文件,一切正常,但是当我使用 PC 的实际 IP远程访问它,然后它会中断。
我不想让它过于复杂,我只是想明确地使用节点来使应用程序在我的网络上可用,仅此而已。
解决方案
推荐阅读
- excel - 我可以在“X”、“Y”、“Z”之类的情况下包含一个空格吗?
- amazon-web-services - 使用 AWS Glue 爬虫进行智能采样
- distributed-computing - GlusterFS,如何使用 http 或 https 来服务器文件?
- python - 如何通过 typeforms .list() 方法获取所有页面的 typeforms 内容?
- javascript - JS中创建的元素上的textContent不起作用?
- javascript - Vuejs:跨多个组件分发代码或将所有内容分发到单个组件中?
- google-bigquery - 按 bigquery 中的值范围分组
- sql - SQL“where”子句因 R JDBC HANA 连接而失败
- c# - 射击额外的球 - 块破坏游戏错误(Unity 2D)
- python - My SQL Python ProgrammingError: 1064 (42000)