我正在为Redmine构建一个移动应用程序。因此,要从Redmine服务器获取数据,我需要通过传递用户密码和用户名来验证用户的身份。在Redmine文档中,提到了两种身份验证方法。
我试图发送一个get请求,如下所示,我可以在浏览器中看到响应Get请求的问题列表。但成功的回调并没有触发。
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
。
发布于 2014-07-15 19:37:39
与标准JSON不同,JSONP响应应该包装在函数调用中。
而不是:
{"issues":[{"id":139989,"project":{"id":215,"name":"Book Meeting Room...
您应该从服务器获得如下内容:
handler({"issues":[{"id":139989,"project":{"id":215,"name":"Book Meeting Room"}}]});
我遇到了一个类似的问题,发现传递带有处理程序名称的callback
或jsonp
参数解决了这个问题。红色文档中的更多信息这里。
在jQuery中,这是我的请求:
$.get('someurl', {'callback': 'foo'}, function (data, status, xhr) {
... request logic ...
}, 'jsonp'
);
...and --这将是您使用回调参数的请求:
$http({
method: 'JSONP',
url: url,
callback: 'something'
}).
success(function(data, status) {
console.log(data);
}).
error(function(data, status) {
console.log("Error "+status);
});
这可能不会帮助您解决身份验证问题,但希望能够帮助您克服此错误。
https://stackoverflow.com/questions/20965743
复制相似问题