Javascript HTTPS';获取';在AngularJS
我正在使用Cordova和AngularJS开发一个移动应用程序。我正在努力使用AngularJS$http服务运行对AmazonS3服务器的HTTPS“Get”调用。呼叫失败,原因是:Javascript HTTPS';获取';在AngularJS,javascript,angularjs,cordova,amazon-s3,Javascript,Angularjs,Cordova,Amazon S3,我正在使用Cordova和AngularJS开发一个移动应用程序。我正在努力使用AngularJS$http服务运行对AmazonS3服务器的HTTPS“Get”调用。呼叫失败,原因是: SSLHandshake: Remote host closed connection during handshake 这就是我如何调用S3服务器的方式: $http({method: 'GET' , url: path}); path变量是指向S3的HTTPS url。如果URL不是HTTPS,则此操作
SSLHandshake: Remote host closed connection during handshake
这就是我如何调用S3服务器的方式:
$http({method: 'GET' , url: path});
path变量是指向S3的HTTPS url。如果URL不是HTTPS,则此操作很好。
在使用Cordova FileTransfer类时,我也遇到了这个问题,但是在开始下载时,我通过将trustAllHosts设置为true,解决了这个问题。这不能通过AngularJS$http服务完成
有人知道我怎么解决这个问题吗?任何帮助都将不胜感激。在AngularJS中,您应该使用
$sce.trustAsResourceUrl(url)
以使用HTTPS之类的安全URL
示例代码:
这将返回一个可在GET请求中使用的安全路径,如下所示:
$scope.trustedPath = $scope.trustSrc(path);
$http({method: 'GET' , url: trustedPath});
谢谢你,伙计。实际上,我已经尝试了
$sce.trustAsResourceUrl
,但我没有首先替换URL中的https
。现在可以了。谢谢。不要忘记在数组或对象中保存您设置的数据$scope.users=[];添加一个解释也很好,这样OP和其他人可以理解您在这里解决的问题。
$scope.trustedPath = $scope.trustSrc(path);
$http({method: 'GET' , url: trustedPath});
getUser().then(function (response) {
$scope.users = response.data;
}).catch(function (err) {
debugger;
})
function getUser() {
return $http.get("https://jsonplaceholder.typicode.com/users")
}