jquery - 允许前端 JavaScript POST 请求到 https ://accounts. spotify.com/api/token 端点

标签 jquery node.js express cors spotify

为了在我的网络应用程序中获取 Spotify API 的访问 token (由其网络授权流程指定),我了解到我必须发出 POST 请求。但是,当我这样做时,由于跨源问题,我收到 XMLHttpRequest 500 Error

我已经弄清楚如何允许 CORS GET 请求,但不确定如何对 POST 请求执行相同的操作。 This link提供配置提示,但将 GETPOST 的实际路由留空。

这是我的 Express.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();
});



app.use(express.static(__dirname + '/public')); // looks in public directory, not root directory (protects files)

app.get('/', function(req, res) {
  // res.header("Access-Control-Allow-Origin", "*");
  // res.header("Access-Control-Allow-Headers", "X-Requested-With");
  res.send(__dirname + '\\index.html')
});

app.post('/', function(req, res) {
    res.send(req.body.spotify);
});

(spotifyspotify-web-api-js Node 模块)。

我之前曾尝试将 app.get 的确切代码复制到 app.post 中,但这导致服务器崩溃。

这是我程序的 JavaScript 文件中的一段代码,旨在在用户单击按钮后发送 POST 请求,将用户带到 Spotify 授权路径的开头并批准登录:

$('#spotify').on('click', function() {
    $.support.cors = true;

    $.post("https://accounts.spotify.com/api/token");

      });

(在本例中,spotify 是 HTML 文件中按钮的 ID)

在这种情况下我应该怎么做才能绕过 CORS 问题?我已经困惑了好几天了。

最佳答案

您可以在https://github.com/spotify/web-api-auth-examples上找到使用express与Spotify执行身份验证流程的示例。 (请参阅 authorization_code 方法)。

您无法通过向 /api/token 发出客户端请求来获取访问 token 。您需要向 /authorize 发出请求,该请求将重定向到您的 redirect_uri,后者本身将使用访问 token 交换 code

检查该示例,它应该可以满足您的需求。

关于jquery - 允许前端 JavaScript POST 请求到 https ://accounts. spotify.com/api/token 端点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33188989/

相关文章:

javascript - 如何从另一个页面更改按钮的状态?

jquery - Zepto 和 jQuery 2 有什么区别?

node.js - 当版本与父模块相同时, Node 不会安装子模块依赖项

javascript - 为什么 Node.js 和 Express 的 post 请求失败

javascript - 我收到错误, `req.redirect` 不是函数

javascript - Nodejs : ReferenceError: express is not defined

javascript - 自定义功能不起作用?

jQuery 切换焦点/模糊

javascript - 从 javascript 中的字符串中提取数据的更有效方法?

javascript - Node.js 解析在接收 JSON 时返回未定义