Javascript 在Express上获取/发布方法
我正在使用express配置服务器 我的问题与项目本身无关,因为它运行得很好 我只是有一个小小的疑问,为什么我必须使用GET,而对我来说,使用POST更有意义 因此,简而言之,我在服务器端配置API密钥,并在客户端获取它,以便使用它 这是服务器端的代码段:Javascript 在Express上获取/发布方法,javascript,express,http,Javascript,Express,Http,我正在使用express配置服务器 我的问题与项目本身无关,因为它运行得很好 我只是有一个小小的疑问,为什么我必须使用GET,而对我来说,使用POST更有意义 因此,简而言之,我在服务器端配置API密钥,并在客户端获取它,以便使用它 这是服务器端的代码段: const apiKey = process.env.API_KEY; console.log(`Your API key is ${apiKey}`); const dataObject ={}; app.get('/api', (req
const apiKey = process.env.API_KEY;
console.log(`Your API key is ${apiKey}`);
const dataObject ={};
app.get('/api', (req,res) => {
res.send({key: apiKey})
})
app.get('/all', sendData = (req,res) => {
res.send(dataObject)
})
app.post('/addText', (req,res) => {
let newEntry = {
agreement = req.body.agreement,
subjectivity = req.body.subjectivity
}
dataObject = newEntry;
res.send(dataObject);
} )
然后在客户端,我通过“/api”路径获取:
const getApiKey = async () => {
// Getting API key from server
const request = await fetch('/api');
try {
const data = await request.json();
console.log(data);
return data;
}catch(error) {
console.log('ERROR', error);
}
}
好的,一切都好,但我的问题是:
- 在服务器端的第一次访问中,我知道我正在将API密钥发送到“/API”路径,以便在客户端通过
检索此密钥。但是,如果我将api密钥发送到此路径,为什么要使用GET而不是POSTfetch
谢谢 此代码从服务器返回API密钥。它不会将其从客户端发送到服务器
app.get('/api', (req,res) => {
res.send({key: apiKey})
}
函数正在构造服务器返回给客户端的响应。此代码从服务器返回API密钥。它不会将其从客户端发送到服务器
app.get('/api', (req,res) => {
res.send({key: apiKey})
}
函数正在构造服务器返回给客户端的响应。您没有向服务器发送任何API密钥。服务器将API密钥作为响应发送给客户端。客户端使用GET请求从/API获取API密钥。方法(GET、POST、PUT、DELETE等)的名称是从客户机的角度来看的 然后在客户端,我在“/api”路径上获取:“否。首先,客户端用
const request = await fetch('/api');
try {
const data = await request.json();
console.log(data);
return data;
}catch(error) {
console.log('ERROR', error);
}
这将在中触发回调
app.get('/api', (req,res) => {
res.send({key: apiKey})
})
服务器发送响应。您没有向服务器发送任何API密钥。服务器将API密钥作为响应发送给客户端。客户端使用GET请求从/API获取API密钥。方法(GET、POST、PUT、DELETE等)的名称是从客户机的角度来看的 然后在客户端,我在“/api”路径上获取:“否。首先,客户端用
const request = await fetch('/api');
try {
const data = await request.json();
console.log(data);
return data;
}catch(error) {
console.log('ERROR', error);
}
这将在中触发回调
app.get('/api', (req,res) => {
res.send({key: apiKey})
})
服务器发送响应。通常,当客户端必须从服务器读取一些数据时,您使用
GET
方法,在这种情况下,您需要读取服务器中定义的API_密钥GET
没有正文,但每个请求都可以通过在查询字符串中传递参数来进行参数化。另一方面,当您必须在服务器上更新或创建实体时,即
POST
(或PUT
)开始生效。在这里,您可以在请求正文中传递数据。通常,当客户端必须从服务器读取一些数据时,您可以使用GET
方法,在这种情况下,您需要读取服务器中定义的API_密钥GET
没有正文,但每个请求都可以通过在查询字符串中传递参数来进行参数化。另一方面,当您必须在服务器上更新或创建实体时,即
POST
(或PUT
)开始生效。在这里,您可以在请求正文中传递数据。非常感谢Thomas!我得到了它。我不知道透视部分。非常感谢托马斯!我得到了它。我不知道透视部分。