我一直在研究是否可以创建我的Chrome Plugin的基于网络的版本 现在它完全依赖于Trakt.TV的JSON API。
根据angular的文档,可以拦截多个级别的HTTP请求,一个是HTTP后端本身(主要用于测试),另一个是HTTPInterceptor.get
基本思想是通过http://json2jsonp.com/将调用包装到Trakt.TV的JSONP api中,并让它们透明地返回以解决跨站点脚本限制。这不仅对我自己的项目非常有用,而且对于很多其他人也会对同样的问题感到畏惧(因此我会在完成后释放模块,但我想要正确地完成它)
基础知识应该很简单:
问题:
答案 0 :(得分:0)
为什么你不能只使用jsonp辅助函数? httpBakend是一个假冒后端服务器的模拟服务,不用于实时代码。如果url包含你要过滤的名称,那么http拦截器会做你想要的只需要将回调函数名称附加到你的请求,然后在响应拦截器中你必须将响应传递给回调函数,这样json就可以了评估。请注意,除非您只是打电话给电视服务,否则拦截器将检查每个请求makde的角度是不是非常有效。 就像我之前所说的更好的方法是使用$ http.jsonp函数
https://docs.angularjs.org/api/ng/service/ $ HTTP#JSONP
关于拦截器的一个词,他们需要将它们定义为服务,然后在应用程序配置期间传递给HttpProvider。