我在前端使用Satellizer进行 JWT 身份验证。我将服务器端Node js部署在Cloud9上,客户端在 localhost 上运行。现在通过 cors 模块在服务器端启用了CORS ,并且工作正常。
相同的客户端使用 Restangular 作为服务。
RestangularProvider.setBaseUrl('//another domain's link here');
RestangularProvider.setRestangularFields({
selfLink: "_links.self.href"
});
RestangularProvider.setDefaultHeaders({'Content-Type':'application/json'});
现在这工作正常。通过 Restangular 的每个请求在节点中都是成功的。但我无法登录或注册。请求无法访问服务器端。控制台中也没有错误。我已经尝试过 这个问题 和许多其他问题。但是不能让它工作。
那么我怎样才能让卫星器为跨域工作????
编辑:另外在 satellizer 中添加此代码。
return $http(opts)
.success(function(response) {
alert("success");
console.log(response);
shared.setToken(response);
return response;
})
.error(function(data) {
console.log(data);
alert("error");
})
.catch(function(resp){
console.log(resp);
alert("catching error");
});
我在控制台中得到了带有 null 的错误块,并且还使用 status:-1 调用了 catch 块。