Jirarest客户端在javascript给出错误

     $(document).ready(function(){ $.ajax({ type: "GET", dataType: 'jsonp', url: "http://myJira.com/rest/api/2/issue/MA-6614/comment", username : "myusrName", password : "myPwd", success: function (data) { console.log( "Sample of data:", JSON.stringify(data)); }, error: function (errormessage) { console.log( "errorMessage:", errormessage); } }); });      

在运行上面的代码时,我得到了SyntaxError:missing; 在声明错误之前 。 我在某处读取Access-Control-Allow-Origin应该用于解决问题。 但我没有找到关于如何使用Jira的好文档。

“UPDATE”
如果我已经登录jira,我会得到上述错误。 如果我在jira中注销然后运行上面的代码然后得到错误“NetworkError:401 Unauthorized – http://myjira.com/rest/api/2/issue/MA-6614/comment?callback=jQuery1102010440085066514837_1388216960965&_=1388216960966 ”

看来上面的代码有两个问题。 1.它无法在jira中进行身份validation。 2.如果我们已经在jira中进行身份validation(这意味着浏览器具有cookie)并发出请求,则会因为jsonp而显示语法错误。

所以我得到了答案。 jira中的支持被撤销以从javascript进行身份validation。 IITally jsonP是选项,但现在不可能。 我们必须对jira进行服务器端身份validation。 这里的例子

https://developer.atlassian.com/display/JIRADEV/JIRA+REST+API+Example+-+Basic+Authentication

你可以用javascript做到这一点。

 function request(){ var xhr = getXHR(); xhr.addEventListener("error", transferFailed, false); xhr.addEventListener("abort", transferCanceled, false); xhr.open("GET", baseURL+"/rest/api/2/issue/KEY-1", false); xhr.setRequestHeader("Authorization", "Basic "+btoa("admin:admin")) xhr.setRequestHeader('Content-Type', 'application/json'); xhr.send(); } 

确保它是同步的并且jira服务器conf具有:

标题始终设置Access-Control-Allow-Credentials“true”标题集Access-Control-Allow-Headers“Authorization,Origin,X-Requested-With,Content-Type,Accept”