javascript - 对节点 JS 服务器的 AJAX POST 请求无法从 IPAD 或 IPHONE 工作
问题描述
我有一个在 Windows 10 操作系统上运行网站的 Apache 服务器。在按钮上单击网站,我向 Node JS 中的 Express 服务器发出 AJAX POST 请求,以运行一些代码并返回 JSON 字符串。这在我的 Windows 10 操作系统上运行良好。
当我在我的 IPAD 或 IPHONE 上单击网站上的按钮时,没有任何反应。在命令提示符下,我看不到任何到达 Express 服务器的控制台日志。
条件:
- Windows 10 操作系统上的防火墙配置为允许端口 80 和 443 (Apache) 以及 8000 (Express) 上的传入数据。
- 在 IPAD 和 IPHONE 上删除 cookie 并取消选中“不允许关注”。
- 都在同一个局域网上。
我在这里想念什么?(接下来,一些代码) Express Server JS
var express = require('express');
var path = require('path');
var app = express();
var cors = require("cors");
var bodyParser = require('body-parser');
const port = 8000;
app.use(bodyParser.json());
app.use(cors());
app.post('/FileName', function (req, res) {
var Fname = req.body.fname;
console.log("received filename: " + Fname);
// Require the module
var EasyFit = require('./dist/easy-fit.js').default;
// Read a .FIT file
var fs = require('fs');
fs.readFile('C:/xampp/htdocs/ATP/FIT/' + Fname + '', function (err, content) {
// Create a EasyFit instance (options argument is optional)
var easyFit = new EasyFit({
force: true,
speedUnit: 'km/h',
lengthUnit: 'km',
temperatureUnit: 'celcius',
elapsedRecordField: true,
mode: 'list',
});
// Parse your file
easyFit.parse(content, function (error, data) {
// Handle result of parse method
if (error) {
console.log(error);
} else {
//res.send(JSON.stringify(data));
res.send(data);
console.log('Parse ok');
}
});
});
})
app.listen(port, '0.0.0.0');
console.log(`FIT app listening at http://localhost:${port}`);
客户端的 AJAX 请求 JS
$.ajax({
cache: false,
url: 'http://localhost:8000/FileName',
type: 'POST',
contentType: "application/json",
data: JSON.stringify(data),
success: function(result) {
console.log('received fit in JSON');
console.log(result);
});
解决方案
您可以使用如下命令找出您的 IP 地址:
ipconfig|findstr IPv4
然后将其替换为localhost
所以你会有一条线
url: 'http://192.168.1.131:8000/FileName',
而不是那个说localhost:8000
推荐阅读
- docker - 尝试使用 Docker Nginx 和 Certbot 获取 SSL
- android - 增强现实的现实世界对象识别
- excel - 使用 VBA 解析和扩展具有变量的代数方程
- android - FinishAffinity android 5.0 上的 NPE
- python - 无法覆盖flask_bootstrap css
- python-3.x - 来自 pymysql 的 Mysql 连接
- javascript - Javascript 语法错误:缺失
- android - 在Imageview中设置图像,其中图像的路径存储在sqlite数据库中,实际图像存储在drawable中
- xamarin - Xamarin Forms 输入点击不会显示整个宽度的键盘
- php - 无法将用户名添加到帖子作者