我试图通过jira rest api在我的jira应用程序中添加评论问题,我正在使用json正文的html / javascript代码中执行此操作但是我正在提出请求时遇到以下错误
“errorMessages”:[“意外字符('Ã'(代码195)):预期有效值(数字,字符串,数组,对象,'true','false'或'null')\ n在”
{“errorMessages”:[“VALUE_STRING \ n中意外的输入结束\ n在[来源:org.apache.catalina.connector.CoyoteInputStream@7b422cb8;行:1,列:159]”]}
这是我的代码,请考虑我的URL和凭据是正确的。我在REST客户端尝试使用相同的URL,凭据和json正文,并且能够在我的JIRA中添加注释问题,任何人都可以告诉我哪里做错了?
<html>
<head>
<meta charset="ISO-8859-1">
<title>Add Comment JIRA REST API</title>
<script type="text/javascript">
function addComment() {
var xhttp = new XMLHttpRequest();
var commentJson = '{"body" : “adding comment to the task from client side javascript code”}';
xhttp.onreadystatechange = function() {
if (xhttp.readyState == 4) {
document.getElementById("demo").innerHTML =xhttp.responseText;
}
};
xhttp.open("POST", "URL",true);
xhttp.setRequestHeader("Content-type", "application/json");
xhttp.setRequestHeader("X-Atlassian-Token", "nocheck");
xhttp.setRequestHeader('Authorization', 'Basic'+btoa('username:password'));
xhttp.send(commentJson);
}
</script>
</head>
<body>
<h2>Adding Comment</h2>
<button type="button" onclick="addComment()">Add Comment</button>
<p id="demo"> </p>
</body>
</html>
好像你传输了一些非有效格式的数据。这意味着你需要使用JSON.Stringify()
或编码UTF-8
中的json数据。可能JSON.Stringify()
会解决这个问题。
这一行:
var commentJson = '{"body" : “adding comment to the task from client side javascript code”}';
...在第二个内部字符串周围有错误的双引号。确保所有双引号都是直的,而不是左引号或右引号,如下所示:
var commentJson = '{"body" : "adding comment to the task from client side javascript code"}';
此外,您可能必须确保您的字符编码匹配,正如whiterabbitj建议的那样,但首先您必须处理使用错误的引号。看起来您正在发送UTF-8,但服务器将您的数据视为ISO-8859-1。