Javascript 无法使用Redmine REST API进行身份验证
我正在为Redmine构建一个移动应用程序。因此,为了从Redmine服务器获取数据,我需要通过传递用户的密码和用户名来对用户进行身份验证。在Redmine API文档中,提到了两种身份验证方法Javascript 无法使用Redmine REST API进行身份验证,javascript,html,angularjs,authentication,redmine,Javascript,Html,Angularjs,Authentication,Redmine,我正在为Redmine构建一个移动应用程序。因此,为了从Redmine服务器获取数据,我需要通过传递用户的密码和用户名来对用户进行身份验证。在Redmine API文档中,提到了两种身份验证方法 通过HTTP基本身份验证使用常规登录/密码 使用API密钥,这是一种避免输入密码的简便方法 在脚本中。API密钥可以以以下方式之一附加到每个请求: 以下方式: -作为“键”参数传入 -通过HTTP Basic以用户名和随机密码的形式传入 身份验证 -作为“X-Redmine-API-Key”HTTP头
- 通过HTTP基本身份验证使用常规登录/密码
- 使用API密钥,这是一种避免输入密码的简便方法
在脚本中。API密钥可以以以下方式之一附加到每个请求:
以下方式:
-作为“键”参数传入
-通过HTTP Basic以用户名和随机密码的形式传入 身份验证
-作为“X-Redmine-API-Key”HTTP头传入(添加到Redmine中 1.1.0)
var url= "http://username:password@redmine.qburst.com/issues.json";
$http({
method: 'JSONP',
url: url
}).
success(function(data, status) {
console.log(data);
}).
error(function(data, status) {
console.log("Error "+status);
});
控制台中出现以下错误
SyntaxError: missing ; before statement
{"issues":[{"id":139989,"project":{"id":215,"name":"Book Meeting Room
错误状态为
0
与标准JSON不同,响应应包装在函数调用中
而不是:
{"issues":[{"id":139989,"project":{"id":215,"name":"Book Meeting Room...
您应该从服务器上获得以下内容:
handler({"issues":[{"id":139989,"project":{"id":215,"name":"Book Meeting Room"}}]});
我遇到了一个类似的问题,发现用处理程序名传递回调
或jsonp
参数就解决了这个问题。更多信息请参见redmine文档
在jQuery中,这是我的请求:
$.get('someurl', {'callback': 'foo'}, function (data, status, xhr) {
... request logic ...
}, 'jsonp'
);
…这将是带有回调参数的请求:
$http({
method: 'JSONP',
url: url,
callback: 'something'
}).
success(function(data, status) {
console.log(data);
}).
error(function(data, status) {
console.log("Error "+status);
});
这可能不会帮助您解决身份验证难题,但有望帮助您克服此错误。您在Redmine日志中有哪些内容?找到包含您的请求的日志并发布。@gotva我现在收到一个新错误。我现在将修改代码。@govta我现在正在用AngularJS进行编码。很难说问题出在哪里。。。我认为你应该(当然如果可能的话)在开发模式下启动你的Redmine(这将更容易调试应用程序),并找出异常产生的地方。如果有一个堆栈-张贴它以及。