2014-03-18 23 views
0

我建立一个原型角的应用程序,使用解析为一个临时的RESTful后端(直到真正的宁静后台完成)

我设置一个厂与$资源(),但我不断得到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:[email protected]/1/classes/Events'); 

但也返回一个401但是如果我在请求复制和网址贴到我的浏览器屏幕打印出的所有对象。

我已经做了大量的搜索和阅读$资源文档很多次,但我仍然不能完全弄清楚这一点。我认为它与跨源策略有关,但解析文档中提到

'对于JavaScript的使用,分析云支持跨源资源共享,以便您可以将这些标头与XMLHttpRequest结合使用。所以我有点难住。

任何帮助,非常感谢。谢谢!

+0

什么镀铬网络标签上显示吗? (F12 - >网络选项卡,在应用程序中重试 - >检查所做调用的标题)。之后,设置httpProvider.defaults.headers.common ['X-Parse-Application-Id']“”是做什么的?另请参阅:http://stackoverflow.com/questions/20266533/angular-custom-headers-are-ignored-by-http-and-resource-wr – Busata

+0

是否根据chrome发送标题? – Busata

回答

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

提供的密钥