You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

跨域调用Web服务登录提交数据遇401错误求助

解决Jira API调用401未授权问题

嘿,你碰到的401错误大概率是认证方式不对加上调用了错误的API端点导致的,我给你拆解下问题和修复方案:

核心问题分析

  1. 调用了错误的URL:你收到的错误里请求的是https://ss.atlassian.net/secure/MyJiraHome.jspa,这是Jira的网页界面地址,不是API接口!Jira的REST API端点应该是类似https://ss.atlassian.net/rest/api/2/issue这类格式,直接POST到网页地址肯定会触发未授权,因为它需要用户会话而不是API认证。
  2. 认证头未正确设置:你的代码里只定义了用户名和密码,但没有把它们转换成Jira要求的Basic认证格式,浏览器的XMLHttpRequest不会自动帮你处理这个。
  3. 跨域(CORS)潜在问题:因为是跨域请求,即使认证正确,浏览器可能会因为CORS限制拦截请求,这个我们后面也会提到。

具体修复步骤

1. 修正API端点

先确认你要调用的Jira API正确地址,比如如果是更新issue字段,应该用:

https://ss.atlassian.net/rest/api/2/issue/{issueKey}

(把{issueKey}替换成实际的issue编号,比如TEST-123)

2. 添加正确的Basic认证头

Jira支持Basic认证,需要把用户名:密码用Base64编码后放在Authorization请求头里。修改你的代码:

function send() {
  const username = "j.er";
  const password = "Sa@";
  // 编码用户名密码
  const authHeader = "Basic " + btoa(`${username}:${password}`);
  
  const url = "https://ss.atlassian.net/rest/api/2/issue/TEST-123"; // 替换成你的实际API地址
  const itemJSON = { 
    "fields": { 
      "customfield_10053": { "value": "800" } 
    } 
  };

  const xmlhttp = new XMLHttpRequest();
  xmlhttp.onreadystatechange = function() {
    if (this.readyState === 4 && this.status === 200) {
      console.log("请求成功:", this.responseText);
    } else if (this.readyState === 4) {
      console.error("请求失败,状态码:", this.status);
    }
  };
  
  xmlhttp.open("PUT", url, true); // 更新issue用PUT,创建用POST
  // 设置必要的请求头
  xmlhttp.setRequestHeader("Authorization", authHeader);
  xmlhttp.setRequestHeader("Content-Type", "application/json");
  
  xmlhttp.send(JSON.stringify(itemJSON));
}

注意:如果是创建新issue,要用POST方法,地址是/rest/api/2/issue,请求体格式也会略有不同。

3. 处理跨域(CORS)问题

因为你是在浏览器端跨域调用Jira API,需要确保:

  • Jira实例已经配置了CORS允许你的域名访问(可以联系Jira管理员在后台设置)
  • 如果无法修改Jira的CORS配置,建议用后端代理:让你的后端服务器去调用Jira API,前端只和自己的后端通信,这样就能绕过浏览器的CORS限制,同时也能避免在前端硬编码密码(非常重要,前端硬编码密码会导致安全泄露!)

4. 额外注意事项

  • 确认你的Jira账号有足够的权限操作目标issue(比如编辑字段的权限)
  • 检查密码是否正确,尤其是特殊字符有没有转义问题
  • 绝对不要在前端代码里硬编码敏感信息(用户名、密码),这是严重的安全隐患

内容的提问来源于stack exchange,提问作者aayushi rathore

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.26 08:24:39