在我的项目中,我使用angularjs框架,并且$http每当进行ajax调用时都喜欢使用该服务。但是在项目的某些部分中,UI不是通过ajax调用直接更新的,并且不需要angularjs绑定,我应该使用$httpservice还是plain jquery.ajax?
$http
jquery.ajax
更具体地说,是否应该在我不关心UI的项目中最小化angularjs依赖性,还是用angular服务和指令将整个项目紧密包装?
如果您使用的是Angularjs,则应使用$ http作为进行ajax调用的首选方法。该服务不必绑定到ui或影响ui。
仅当无法使用角度服务执行操作时才应使用Jquery Ajax调用,如果遵循angularjs最佳实践,这种情况将很少见。
同样,如果您使用http服务,则可以使用拦截器来创建请求并处理响应,然后再将其分配给调用的成功部分。这些用于处理全局错误并显示可以在任何响应中出现的全局通知。另外,您可以在此处发送每个请求之前添加标题和更多信息。您也可以在此处对请求/响应进行编码/解码,以便所有这些实用程序功能都在同一位置完成。检查以下链接: 带拦截器的http服务文档
如果仍然需要从外部angular环境中调用$ http(应该避免这样做),则可以创建一个通用的angular工具,并将其包装在一些可以直接调用的函数中。