我正在构建一个原型Angular应用程序,使用Parse作为临时RESTful后端(直到真正的restful后端完成)
我已经设置了一个带有$ resource()的工厂,但我经常会获得401未授权。
现在我的工厂看起来像这样(APPIDKEY和APIKEY当然会被编辑)
app.factory('eventFactory', ['$resource', function($resource){
return $resource('https://api.parse.com/1/classes/Events',{},
{headers:{"X-Parse-Application-Id": "APPIDKEY",
"X-Parse-REST-API-Key": "APIKEY"}});
}
]);
我也试过写这样的$ resrouce。
$resource('https://myAppID:javascript-key=myJavaScriptKey@api.parse.com/1/classes/Events');
但是这也会返回401.但是如果我将该URL复制并粘贴到我的浏览器中,屏幕会打印出请求中的所有对象。
我已经进行了大量的谷歌搜索并多次阅读$ resource文档,但我仍然无法弄清楚这一点。我认为它与跨源策略有关,但解析文档说
'对于Javascript使用,Parse Cloud支持跨源资源共享,因此您可以将这些头与XMLHttpRequest一起使用。所以我有点难过。
非常感谢任何帮助。谢谢!
答案 0 :(得分:1)
在我的module.config函数中添加这两行修复了它。
$httpProvider.defaults.headers.common['X-Parse-Application-Id']="APPIDKEY"
$httpProvider.defaults.headers.common['X-Parse-REST-API-Key']="RESTAPIKEY"
其中APPIDKEY和RESTAPIKEY等于Parse.com提供的密钥