如何使用 Trello API 在 JavaScript 中发送对象? (XMLHttpRequest)
How to send object in JavaScript With Trello API? (XMLHttpRequest)
我是 javaScript 的新手。我能够发送一些 PUT 请求,问题是其中 none 让我发送了一个对象。
现在我想在 Trello 中将对象发送到 add/change 卡片封面(例如单独更改颜色/添加封面),但在 Trello API 中,封面是对象类型。
我怎样才能用 XMLHttpRequest 做到这一点?
我的普通 PUT 请求(有效,但不适用于对象):
function updateCheckItem(cardId, checkItemId, state) { // state is boolean
var url = "https://api.trello.com/1/cards/" + cardId + "/checkItem/" + checkItemId + "?key=...&token=...&state=" + state;
var xhr = new XMLHttpRequest();
xhr.open("PUT", URL);
xhr.setRequestHeader("Accept", "application/json");
xhr.setRequestHeader("Content-Type", "application/json");
xhr.onreadystatechange = function () {
if (this.readyState == 4) {
//do something not relevant
}
};
xhr.send();
}
现在,我应该如何发送对象而不是上面代码中的布尔状态?
我搜索并找到了一些关于 JSON.stringify 的东西,但对我不起作用/不知道如何使用它。
我最后一次失败的尝试:
function Cover(cardId) {
var url = "https://api.trello.com/1/cards/" + cardId + "?key=...&token=...&cover";
var xhr = new XMLHttpRequest();
xhr.open("PUT", URL);
xhr.setRequestHeader("Accept", "application/json");
xhr.setRequestHeader("Content-Type", "application/json");
xhr.onreadystatechange = function () {
if (this.readyState == 4) {
//do something not relevant
}
};
xhr.send({ "cover": { "color": "pink" } });
}
以下是选项:
Options for Trello card cover update
这是一张 JSON Trello 卡片的样子:
{
"id": "..."
.
.
.
"cover": {
"idAttachment": null,
"color": null,
"idUploadedBackground": null,
"size": "normal",
"brightness": "dark",
"idPlugin": null
},
.
.
.
}
谢谢。
我解决了,如果有人找到这个并想要答案,就是这个:
function uptadeCardCover(cardId,color,size) {
var url = "https://api.trello.com/1/cards/" + cardId + "?key=xxxxxx&token=xxxxxxxxx";
var xhr = new XMLHttpRequest();
xhr.open("PUT", URL);
xhr.setRequestHeader("Accept", "application/json");
xhr.setRequestHeader("Content-Type", "application/json");
xhr.onreadystatechange = function () {
if (this.readyState == 4 && this.status == 429) {
// not relevant
}
};
xhr.send(JSON.stringify({
"cover": {
"color": color,
"size": size
}
}));
}
我是 javaScript 的新手。我能够发送一些 PUT 请求,问题是其中 none 让我发送了一个对象。 现在我想在 Trello 中将对象发送到 add/change 卡片封面(例如单独更改颜色/添加封面),但在 Trello API 中,封面是对象类型。 我怎样才能用 XMLHttpRequest 做到这一点?
我的普通 PUT 请求(有效,但不适用于对象):
function updateCheckItem(cardId, checkItemId, state) { // state is boolean
var url = "https://api.trello.com/1/cards/" + cardId + "/checkItem/" + checkItemId + "?key=...&token=...&state=" + state;
var xhr = new XMLHttpRequest();
xhr.open("PUT", URL);
xhr.setRequestHeader("Accept", "application/json");
xhr.setRequestHeader("Content-Type", "application/json");
xhr.onreadystatechange = function () {
if (this.readyState == 4) {
//do something not relevant
}
};
xhr.send();
}
现在,我应该如何发送对象而不是上面代码中的布尔状态?
我搜索并找到了一些关于 JSON.stringify 的东西,但对我不起作用/不知道如何使用它。
我最后一次失败的尝试:
function Cover(cardId) {
var url = "https://api.trello.com/1/cards/" + cardId + "?key=...&token=...&cover";
var xhr = new XMLHttpRequest();
xhr.open("PUT", URL);
xhr.setRequestHeader("Accept", "application/json");
xhr.setRequestHeader("Content-Type", "application/json");
xhr.onreadystatechange = function () {
if (this.readyState == 4) {
//do something not relevant
}
};
xhr.send({ "cover": { "color": "pink" } });
}
以下是选项: Options for Trello card cover update
这是一张 JSON Trello 卡片的样子:
{
"id": "..."
.
.
.
"cover": {
"idAttachment": null,
"color": null,
"idUploadedBackground": null,
"size": "normal",
"brightness": "dark",
"idPlugin": null
},
.
.
.
}
谢谢。
我解决了,如果有人找到这个并想要答案,就是这个:
function uptadeCardCover(cardId,color,size) {
var url = "https://api.trello.com/1/cards/" + cardId + "?key=xxxxxx&token=xxxxxxxxx";
var xhr = new XMLHttpRequest();
xhr.open("PUT", URL);
xhr.setRequestHeader("Accept", "application/json");
xhr.setRequestHeader("Content-Type", "application/json");
xhr.onreadystatechange = function () {
if (this.readyState == 4 && this.status == 429) {
// not relevant
}
};
xhr.send(JSON.stringify({
"cover": {
"color": color,
"size": size
}
}));
}