我是初级开发人员,我需要你的帮助...
在我的页面代码下方
const sendAnotherIp = async () => {
const domain_format = /^(((http(s?))\:\/\/)?)([0-9a-zA-Z\-]+\.)+[a-zA-Z]{2,6}(\:[0-9]+)?(\/\S*)?/;
if (domain_format.test(anotherIp)) {
await axios
.get(`${process.env.NEXT_PUBLIC_CLIENT_URL}/api/dnslookup`, {
params: {
search: anotherIp,
date: nowTime,
},
})
.then((res) => {
alert(res.data);
});
} else {
alert("it's wrong domain format");
}
};
console.log(JSON.stringify(data)); -> "[Object object]"
在我的API代码下面
import { NextApiRequest, NextApiResponse } from "next";
const sqlite3 = require("sqlite3").verbose();
const dns = require("dns");
interface Iquerys {
search: string;
date: string;
}
interface IUrl {
ip: string;
}
const dnslookup = (request: NextApiRequest, response) => {
const req = response.req;
const querys: Iquerys = req.query;
const searchData = querys.search;
const dateData = querys.date;
// below my logic
response.status(200).end(
`${dns.resolveAny(searchData, function (err: any, addresses: any) {
return addresses;
})}`
);
//
// db connect
let db = new sqlite3.Database("./db/my_database.db", (err) => {
if (err) {
return console.log(err.message);
}
console.log("Connected to database!");
});
// db peristalsis
db.run("INSERT INTO DnsLookup(search, date) VALUES (?, ?)", [searchData, dateData], (err) => {
if (err) {
return console.log(err.message);
}
console.log("Row was added to the table: ${this.lastID}");
});
};
export default dnslookup;
我的项目是用 React 构建的,下一个是 js。 我曾经使用 JSON.parse() 和 JSON.stringify() 和 toString() ...等 但我找不到获取真实数据的方法。 我的代码有什么问题吗?请帮助我,伙计们
我认为服务器代码有问题。您应该等待回电完成,然后发送回复。
response.status(200).end(
`${dns.resolveAny(searchData, function (err: any, addresses: any) {
return addresses;
})}`
);
前端代码中,将axios前面不需要的await去掉。
首先将标头声明为
application/json
axios.get('m', {
headers: {
'Content-Type': 'application/json'
}
})