gpt4 book ai didi

javascript - 无法访问本地 Node 服务器上创建的API

转载 作者:行者123 更新时间:2023-12-02 21:21:00 26 4
gpt4 key购买 nike

我在 Node 服务器上创建了一个简单的 API。服务器在端口 9000 上运行。我创建了一个名为 getUserDetails 的端点,并传递一个简单的对象。问题是我可以通过输入完整的 URL 'http://localhost:9000/getUserDetails 从浏览器访问 API。 '.

但我无法访问另一个 HTML 文件中的 API。为了详细说明,我创建了一个简单的 HTML 文件来测试此 API。

我的 Node 服务器:

const app = express();

app.get('/getUserDetails', (req, res) => {
res.send({
firstname : 'Giri',
secondname: 'Aakula',
dob: '15-09-1997',
age: 22,
qualification : 'Graduate',
status : 'pass'
})
})
app.listen(9000);

我的 HTML 文件

<!DOCTYPE html>
<html>
<head>
<title>Test page</title>
<style>
h1{
font-size: 50px;
}
</style>
</head>
<script>
fetch('http://localhost:9000/getUserDetails')
.then(
function(response) {
if (response.status !== 200) {
console.log('Looks like there was a problem. Status Code: ' +
response.status);
return;
}

// Examine the text in the response
response.json().then(function(data) {
console.log(data);
});
}
)
.catch(function(err) {
console.log('Fetch Error :-S', err);
});
</script>
<body>
<h1>This is a test page</h1>
</body>
</html>

最佳答案

我忘了添加cors。通过添加这一行解决了我的问题。

const express = require('express');
const app = express();

app.get('/getUserDetails', (req, res) => {
//this is the updated line
res.setHeader('Access-Control-Allow-Origin', '*');

res.send({
firstname : 'Giri',
secondname: 'Aakula',
dob: '15-09-1997',
age: 22,
qualification : 'Graduate',
status : 'pass'
})
})
app.listen(9000);

关于javascript - 无法访问本地 Node 服务器上创建的API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60844112/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com