javascript - 如何解决javascript中从不同url获取json数据的跨域问题?

标签 javascript node.js

我尝试从 URL 获取 JSON 数据,但出现错误(跨源请求被阻止:同源策略不允许读取 http://core.agricx.com/api/Apiagricx/get_config_test 处的远程资源。(原因:缺少 CORS header “Access-Control-Allow-Origin”)。

后端代码(node js)

app.use(function(req, res, next) {
    res.header("Access-Control-Allow-Origin", "*");
    res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");
    next();
});

前端代码(dashboard.js)

fetch('https://core.agricx.com/api/Apiagricx/get_config_test', {
    method: "GET",
    credentials: "include",
    cache: "no-cache"
})
.then(response => response.json())
.then(out => {
   console.log("for out");
   console.log(out);
})
.catch(err => {
   console.log("for err");
   console.error(err);
});

我期望您可以在直接键入 URL 时看到 JSON 数据输出。但代码将进入 catch block 并阻止我从该 URL 获得的响应。

最佳答案

一个简单的方法是使用node.js包cors

安装软件包,cors ,并在 server.js 或任何 Node 代码的开头包含以下代码。

var cors = require('cors')

var app = express()
app.use(cors())

请参阅related npm page了解更多详细信息和配置选项。

关于javascript - 如何解决javascript中从不同url获取json数据的跨域问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55624801/

相关文章:

javascript - AngularJS:阻止用户访问特定状态

javascript - 如何使用 Javascript 正确处理错误?

javascript - Mongoose - 使用嵌套模型更新插入文档

Javascript:为什么即使使用 parseInt() 函数后我还是得到 NaN?

javascript - JQuery animate() - 停止所有动画

javascript - 在 chrome devtools 中检查 node.js 时函数语句的奇怪行为

node.js - Browserify 构建失败,package.json 依赖项中存在本地版本的 npm 模块

javascript - 从文本区域获取行并进行比较

Javascript Es6 默认导出

javascript - iframe 中的焦点文本字段(棘手!)