在做了一些研究后,我发现这是一个CORS问题。我正在使用谷歌应用程序引擎与Python。这个错误是我可以修复的,还是API的bug?我已经设法用这个API做了一个POST请求,没有问题。我已经阅读了很多关于CORS的信息,但还没有找到解决这个问题的方法。
下面是GET请求的Javascript代码,它只是从Trello API复制/粘贴的,所以我不确定哪里出了问题:
var authenticationSuccess = function() {
console.log('Successful authentication');
};
var authenticationFailure = function() {
console.log('Failed authentication');
};
window.Trello.authorize({
type: 'popup',
name: 'Work Requests App',
scope: {
read: 'true',
write: 'true' },
expiration: 'never',
success: authenticationSuccess,
error: authenticationFailure
});
var data = JSON.stringify(false);
var xhr = new XMLHttpRequest();
xhr.withCredentials = true;
xhr.addEventListener("readystatechange", function () {
if (this.readyState === this.DONE) {
console.log(this.responseText);
}
});
xhr.open("GET", "https://api.trello.com/1/cards/5a42e1936434a7d84ba3f5f/members");
xhr.send(data);
看起来您正在尝试结合使用Trello API的两种不同方式--使用client.js和直接发出HTTP请求。
我建议从只使用client.js
开始,因为它在使用Trello的API时提供了许多帮助函数。例如,.authorize()
方法将引导您为API密钥生成一个令牌,并将其存储在本地。为了在示例中仅使用client.js
请求获取卡的数据,您的代码应该如下所示:
<html>
<script
src="https://code.jquery.com/jquery-3.2.1.min.js"
integrity="sha256-hwg4gsxgFZhOsEEamdOYGBf13FyQuiTwlAQgxVSNgt4="
crossorigin="anonymous"></script>
<script src="https://trello.com/1/client.js?key=XXXXXXXXX"></script>
<script>
var requestSuccess = function(response) {
console.log(JSON.stringify(response, null, 2));
}
var authenticationSuccess = function() {
console.log('Successful authentication');
// Now that you are authenticated, you can start
// making requests to the API
window.Trello.rest("GET", "cards/5a42e1936434a7d84ba3f5f/members", requestSuccess);
};
var authenticationFailure = function() {
console.log('Failed authentication');
};
window.Trello.authorize({
type: 'popup',
name: 'Work Requests App',
scope: {
read: 'true',
write: 'true' },
expiration: 'never',
success: authenticationSuccess,
error: authenticationFailure
});
</script>
</html>
在脚本中包含client.js
时,需要包含API(通过登录Trello时访问Trello.com/app-key获得)。用API密钥替换上面的xxxxxxxx
。
<html>
<script>
var xhr = new XMLHttpRequest();
xhr.addEventListener("readystatechange", function () {
if (this.readyState === this.DONE) {
console.log(this.responseText);
}
});
var yourToken = "XXXXXXXXXX";
var yourKey = "XXXXXXXXXX";
xhr.open("GET", "https://api.trello.com/1/cards/5a42e1936434a7d84ba3f5f/members?key=" + yourKey + "&token=" + yourToken);
xhr.send();
</script>
</html>
我试图从dark sky api获取天气数据,但我一直得到一个cors错误。这是我的密码: 我收到一个错误“XMLHttpRequest无法加载”https://api.darksky.net/forecast/febb2871126cd24613f32a79c32d4158/38.5815719,-121.4943996。请求的资源上不存在“Access Control Allow Origin
✔加200积分响应期权法 ✔将Access-Control-Allog-Headers,Access-Control-Allog-Methods,Access-Control-Allog-Origin方法响应头添加到OPTIONS ✔将Access-Control-Allow-Headers,Access-Control-Allow-Methods,Access-Control-Allow-Ori
我试图调用一些API在我的javascript代码中获取。我正在我的机器中使用ReactJs开发,并在同一网络中使用另一台机器中的. net开发API。有了邮递员,我可以调用应用编程接口,但是没有。我尝试调用其他服务器中的另一个API,结果是成功的。 我正在使用fetch并尝试使用axios。我在这个API的堆栈溢出中发现了另一个问题:https://gturnquist-quoters.cfap
我有我的快递服务器运行在http://localhost:3000(我称之为网络服务器)我有另一个应用程序运行在localhost:8100(我称之为简单的应用程序) 当我的应用程序调用Web服务器时,我收到消息: “XmlHttpRequest无法加载http://localhost:3000/auth/facebook. 对飞行前请求的响应未通过访问控制检查。当凭据标志为true时,“访问控制
问题内容: 我在ajax中执行此请求,但是我仍然遇到以下有关CORS的错误:XMLHttpRequest无法加载https://cubber.zendesk.com/api/v2/organizations/37520251/users.json。在飞行前响应中,Access- Control-Allow-Headers不允许请求标头字段Access-Control-Allow-Origin。您能
在 Nginx 的典型应用场景中,几乎都是只读取 HTTP 头即可,例如负载均衡、正反向代理等场景。但是对于 API Server 或者 Web Application ,对 body 可以说就比较敏感了。由于 OpenResty 基于 Nginx ,所以天然的对请求 body 的读取细节与其他成熟 Web 框架有些不同。 最简单的 “Hello ****” 我们先来构造最简单的一个请求,POST