当前位置: 首页 > 面试题库 >

AngularJS:如何阻止请求

燕文昌
2023-03-14
问题内容

是否可以使用angularjs拦截器阻止请求?

$provide.factory('myHttpInterceptor', function($q, someService) {
  return {
    'request': function(config) {
      // here I'd like to cancel a request depending of some conditions
    }
  }
});

$httpProvider.interceptors.push('myHttpInterceptor');

问题答案:

在1.1.5及更高版本中,您可以使用配置对象的’timeout’属性。

从文档中:

超时– {number | Promise} –超时(以毫秒为单位),或承诺应在解决后中止请求。

简单的例子:

$provide.factory('myHttpInterceptor', function($q, someService) {
  return {
    'request': function(config) {

        var canceler = $q.defer();

        config.timeout = canceler.promise;

        if (true) {

            // Canceling request
            canceler.resolve();
        }

        return config;
    }
  }
});

$httpProvider.interceptors.push('myHttpInterceptor');


 类似资料:
  • 我完全被难住了。我对AngularJS非常陌生,我正试图对我的泽西服务器api进行rest调用,但我运气不好。它使用curl或高级Rest客户端(Chrome浏览器加载项)工作。然而,当我试图使用我的angularjs应用程序打我的Rest时,我重复了以下内容… 这是我的CORS过滤器... } 注册我的CORS筛选器的应用程序类

  • 问题内容: 因此,我有了这个Go http处理程序,该处理程序将一些POST内容存储到数据存储中,并检索其他一些信息作为响应。在后端,我使用: 在我的firefox OS应用程序中,我使用: 传入的部分都一直如此。但是,我的回复被阻止了。给我以下信息: 我尝试了许多其他操作,但是无法从服务器获得响应。但是,当我将Go POST方法更改为GET并通过浏览器访问该页面时,我得到的数据太糟糕了。我无法真

  • 问题内容: Ajax使用回调,因为它是同步的。 我希望对远程URL块的调用直到出现一些答案为止 ,就像在Ajax中一样,但是没有异步部分,或者我要说要进行JAX调用。 是否有任何技术可以使以下事情发生(使用JQuery)(…使用JQuery或其他解决方案): 我只是想知道-想学习。 实际上,有时会阻塞直到回复合适为止。我并不是说要浏览器阻止,而只是脚本运行时。 问题答案: 您可以在使用jQuery

  • 问题内容: 我想使用post来更新数据库,并且不希望人们手动进行,也就是说,只能通过客户端中的AJAX来实现。在这种情况下是否有一些众所周知的加密技巧? 假设我正在发出GET请求,以将新用户插入数据库中。有人可以通过发出假请求来填充我的数据库。 问题答案: 在这种情况下,无法避免伪造的请求,因为客户端浏览器已经具有发出请求所需的一切;恶意用户只需进行一些调试即可弄清楚如何向您的后端发出任意请求,甚

  • 问题内容: 这是我的代码: 这适用于GET请求而不是POST! 我将Apache用作服务器,并使用以下命令对其进行了配置: 在我的angularjs中,我包含在模块应用程序的配置中: 但是请求POST仍然无法正常工作! 我希望有人能提出任何想法。 问题答案: 在服务器端添加这些标头: 如果仍然无法正常工作,请发布浏览器正在发送的预检请求的详细信息。 为什么要这样做? 如果不是简单的请求(例如,表单

  • 每当我尝试使用axios发送删除endpoint的请求时,都会出现以下错误: 通过CORS策略阻止从源http://localhost:3000在http://localhost:8080/api/payment_card/delete/1234123412343433处访问XMLHttpRequest:对预检请求的响应未通过权限改造检查:请求的资源上不存在“Access-Control-Allo