0

我想自动化我工作中的一些任务。这意味着例如,而不是耗时登录 RT,搜索特定票我想在 JavaScript 的帮助下从简单的 HTML 表单更新它(这是我现在唯一的工具)。

域如下所示:

mydomain.example.ioRTdomain.example.io

示例代码:

var url = "https://RTdomain.example.io/REST/1.0/ticket/1065/edit?user=guest&pass=guest";
var xhr = new XMLHttpRequest();
xhr.open("POST", url, true);
xhr.setRequestHeader('Content-Type', 'text/html');
xhr.send(JSON.stringify({
    content: "Content: asdf"
}));

您可能马上就知道,浏览器不想让我调用 POST,因为没有“Access-Control-Allow-Origin”标头。

有没有一种方法可以在没有 CORS 且不干扰 RT 服务器的情况下编辑票证?

我所拥有的是一个 RT 帐户和与之绑定的安全访问令牌(如果有帮助的话)。我也无法关闭浏览器跨域安全性。

在 Wikipedia XMLHttpRequest 上可以读到:

CORS 协议有几个限制,有两种支持模型。简单模型不允许设置自定义请求标头并省略 cookie。此外,仅支持 HEAD、GET 和 POST 请求方法,并且 POST 仅允许以下 MIME 类型:“text/plain”、“application/x-www-urlencoded”和“multipart/form-data”。最初只支持“text/plain”。另一个模型检测何时请求非简单特征之一并向服务器发送飞行前请求以协商该特征。

那么我该如何理解呢?我可以在没有飞行前检查的情况下使用文本/纯数据类型进行 POST 吗?

如果我听起来像个菜鸟,我很抱歉,但我读了很多关于这个话题的东西,唯一让我感到困惑的是。我对 api 没有太多经验,我只做过一个与 GitHub api 配合使用的 android 应用程序,而用 javascript 处理它让我很头疼。

这是他们的 API wiki: RT wiki 有人对此有简明的解决方案吗?谢谢你。

4

0 回答 0