这应该是一个简单的解决方案,但当我用谷歌搜索时,每个人似乎都错过了这个。我想发送一个简单的 json 消息/文件到我的 index.html
Node.js 代码
const express = require('express');
const app = express();
const path = require('path');
const router = express.Router();
router.get('/',function(req,res){
res.setHeader('Access-Control-Allow-Origin', '*');
res.sendFile(path.join(__dirname+'/index.html'));
});
app.get('/index.html', function(req, res, next) {
res.json({ message: 'Hello World' });
});
app.use('/', router);
app.listen(process.env.port || 3000);
console.log('Running at Port 3000');
现在在我的 javascript 代码中
$.ajax({
url: 'http://localhost:3000/',
complete: function(data) {
console.log(data); <---------THIS IS WHERE I WANT THE JSON TO BE I
WANT TO LOG
IT
}
});
为什么我的 Json 消息不显示???我怎样才能获取这些数据并console.log它。我很感激我能得到的任何帮助。我正在使用 Express。
最佳答案
以下两个片段的错误实现让我相信 OP 并不完全理解路由、路由器和 Express 应用程序。
router.get('/',function(req,res){
res.setHeader('Access-Control-Allow-Origin', '*');
res.sendFile(path.join(__dirname+'/index.html'));
});
app.get('/index.html', function(req, res, next) {
res.json({ message: 'Hello World' });
});
路由器用于定义可访问的路由,这些路由期望返回有用的信息。然后,Express 应用程序使用该路由器来适本地处理请求。
要定义一个路由,将“hello world”返回到您想要重写路由的 axios 请求:
router.get('/', (req, res) => {
res.json({message: 'hello world'})
})
关于javascript - 从node.js发送一个简单的json到index.html,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60458595/