问题描述
我正在尝试以 JSON 格式获取数据。我刚刚复制了一个旧项目并将其IP地址更改为数据库,用户名,端口,密码和数据库名称。
当我尝试通过以下地址访问数据时:localhost:3000/&id=13
浏览器只是不加载它们。
当我在没有/的情况下输入带有端口的地址时,我看到错误消息:
return res.status(500).json({ error: "Грешна заявка.Опитай отново !"})
相同的代码被固定到另一个数据库,我看到了 JSON 格式的数据。
我检查了 10 次用户名、密码、端口和数据库名称是否正确,它们都没有问题。
代码:
// Create express app
var express = require("express")
var app = express()
var MysqL = require('MysqL')
var express = require("express")
var cors = require('cors')
app.use(cors())
// Server port
var HTTP_PORT = 3000
var pool = MysqL.createPool({
connectionLimit: 10,host: '192.168.0.1',user: 'user',port: '3388',password: 'password',database: 'databasename'
});
var ardaforecast = '';
app.route('/')
.get(function (req,res) {
// omitted
res.setHeader('Access-Control-Allow-Origin','*','Cache-Control','private,no-cache,no-store,must-revalidate');
//const date = req.query.date;
const id = req.query.id;
pool.query(`CALL Get_Alert_levels_Station(${id})`,function (error,result) {
if (error)
return res.status(500).json({ error: "Грешна заявка. Опитай отново !"})
aladinModel = result;
res.json({ ardaforecast })
});
});
// Start server
app.listen(HTTP_PORT,() => {
console.log("Server running on port %PORT%".replace("%PORT%",HTTP_PORT))
});
pool.on('error',function (err) {
console.log(err.code); // 'ER_BAD_DB_ERROR'
});
app.use(function (req,res) {
res.status(404);
})
;
我能否举例说明如何解决此问题或如何找出问题所在?
解决方法
您可以使用这个来查看您的网址包含的内容:https://www.freeformatter.com/url-parser-query-string-splitter.html
在您的示例中,问题在于您使用了 &
(与号),但它的作用是分隔多个查询参数。由于您只有一个,因此您的网址结构不正确,并且不包含任何参数。
您应该使用 ?
(问号)来表示第一个:
localhost:3000/?id=13
附言Успех ;)