【问题标题】:HTTP Request Redirection in angular and node/expressangular 和 node/express 中的 HTTP 请求重定向
【发布时间】:2016-02-03 17:00:43
【问题描述】:

假设我有以下 angular http 请求,该请求重定向到服务器端(节点/快递)中的路由以执行另一个 http 请求到 web api。

基于以下代码:

  1. 有角度的http 请求会不会有errorCallback?如果是,在什么情况下?
  2. if(error) 在服务器端 http 请求中产生错误的可能条件是什么?是客户端http错误吗?还有其他的吗?
  3. 如果服务器端http请求报错为真,应用会崩溃吗?

Angular 的 http 请求:

$http({
  method: 'GET',
  url: 'webServerUrl'
}).then(function successCallback(response) {
    alert('success');
  }, function errorCallback(response) {
    alert('fail');
  });

服务器端http请求

var request = require('request');
exports.getSearchResults = function (req, res) {
  request({ 
        method: 'POST',
        url: 'apiUrl'
    }
  , function (error, response, body) {
      if (error) {
        res.jsonp('Unknown error. Please try again later');
      }
      else {
        res.jsonp(body);
      }
    }
  )}

【问题讨论】:

    标签: javascript angularjs node.js express


    【解决方案1】:

    有角度的http请求会不会有errorCallback?如果是,在什么情况下?

    是的。如果对服务器的请求超时或失败,就会被调用。

    if(error) 在服务器端 http 请求中产生错误的可能条件是什么?是客户端http错误吗?还有其他的吗?

    不会,只有调用api失败才会报错。

    如果服务器端的http请求报错为真,应用会崩溃吗?

    不,不应该。错误对象是一个对象,而不是布尔值。

    顺便说一句,您应该知道在客户端发出 GET 请求然后向您的 api 发出 POST 请求不是标准做法。 POST 请求意味着某种状态变化,而 GET 不应该。如果可以重复调用而没有任何副作用,则将它们全部设为 GET,或者将它们全部设为 POST。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-09-21
      • 1970-01-01
      • 2015-07-05
      • 2016-08-09
      • 1970-01-01
      • 2021-10-01
      • 1970-01-01
      相关资源
      最近更新 更多