一尘不染

如果可能,我应该对请求还是使用jquery $ http服务还是jquery ajax?

ajax

在我的项目中,我使用angularjs框架,并且$http每当进行ajax调用时都喜欢使用该服务。但是在项目的某些部分中,UI不是通过ajax调用直接更新的,并且不需要angularjs绑定,我应该使用$httpservice还是plain
jquery.ajax

更具体地说,是否应该在我不关心UI的项目中最小化angularjs依赖性,还是用angular服务和指令将整个项目紧密包装?


阅读 220

收藏
2020-07-26

共1个答案

一尘不染

如果您使用的是Angularjs,则应使用$ http作为进行ajax调用的首选方法。该服务不必绑定到ui或影响ui。

仅当无法使用角度服务执行操作时才应使用Jquery Ajax调用,如果遵循angularjs最佳实践,这种情况将很少见。

同样,如果您使用http服务,则可以使用拦截器来创建请求并处理响应,然后再将其分配给调用的成功部分。这些用于处理全局错误并显示可以在任何响应中出现的全局通知。另外,您可以在此处发送每个请求之前添加标题和更多信息。您也可以在此处对请求/响应进行编码/解码,以便所有这些实用程序功能都在同一位置完成。检查以下链接:
带拦截器的http服务文档

如果仍然需要从外部angular环境中调用$ http(应该避免这样做),则可以创建一个通用的angular工具,并将其包装在一些可以直接调用的函数中。

2020-07-26