Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/473.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在angularJs应用程序中获取标题详细信息以在页面标题中显示用户名_Javascript_Angularjs - Fatal编程技术网

Javascript 如何在angularJs应用程序中获取标题详细信息以在页面标题中显示用户名

Javascript 如何在angularJs应用程序中获取标题详细信息以在页面标题中显示用户名,javascript,angularjs,Javascript,Angularjs,我有一个angular web应用程序在node上运行 在页面标题上,我需要显示登录的用户id/名称。我知道用户id、名称在标题信息中可用,但我如何才能在angular中访问它们并在my header.html中显示它们?此信息位于: 返回一个带有标准then方法和两个http特定方法的promise对象:success和error。then方法接受两个参数,一个是成功回调,一个是错误回调,将使用响应对象调用。success和error方法只接受一个参数,即当请求成功或失败时分别调用的函数。传入

我有一个angular web应用程序在node上运行


在页面标题上,我需要显示登录的用户id/名称。我知道用户id、名称在标题信息中可用,但我如何才能在angular中访问它们并在my header.html中显示它们?

此信息位于:

返回一个带有标准then方法和两个http特定方法的promise对象:success和error。then方法接受两个参数,一个是成功回调,一个是错误回调,将使用响应对象调用。success和error方法只接受一个参数,即当请求成功或失败时分别调用的函数。传入这些函数的参数是传入then方法的响应对象的非结构化表示。响应对象具有以下属性:

数据{string | Object}–使用 变换函数

状态–{number}–的HTTP状态代码 答复

headers–{function[headerName]}–Header getter函数

config–{Object}–用于生成 请求

statusText–{string}–响应的HTTP状态文本

因此,如果您发出一个请求,并且响应头中提供了userID,那么您可以这样访问它:

$http.get('someUrl')
    .success(function(data, status, headers) {
        $scope.userId = headers('userID');
    });
您可能需要检查响应头,以查看为了获取用户ID需要访问的头值

然后将绑定添加到html:

{{userId}}
以下示例显示了如何访问$http响应头并在视图中显示它们:

  $scope.headers;
  $scope.headerDate;
  $http.get('test.json')
  .success(function(data, status, headers) {
    $scope.headers = headers();
    $scope.headerDate = headers("Date");
  });
然后,您可以通过放置{{headers}}或只显示带有{{headerDate}的日期头来显示该请求的所有响应头


嗯,我搜索了很多,但是除了一个,我可以在我的应用程序中找到任何我可以使用的代码,但是它也不起作用。。myApp.config['$httpProvider',函数$httpProvider{$httpProvider.defaults.headers..此标题可能有详细信息,但不确定如何使用。我尝试在控制台中打印它,但它没有显示任何内容…我可能不在righ方向上。这不起作用。到目前为止,我所做的是在我的express server js中获得此值。在这里,我可以在控制台上打印它。现在,我正在尝试找到一种方法,如何将此varriab;e传递给我的角度代码…app.get'/',functionreq,res{var headerJson=JSON.stringifyreq.headers,null,2;console.logHeaders:+headerJson;res.sendNODE app headers:+headerJson+CorpID:+JSON.parseheaderJson.host;};如果您使用节点从get请求头中提取值,angular已经具有该值。在节点中发布函数以进行登录身份验证。这就是节点传递angular令牌的地方。您的angular应用程序也将该令牌存储在某个位置,您可以从该位置提取该令牌,而不会弄乱头。您有本地存储吗应用程序中的工厂?有关更多信息,请参阅我的更新答案。它是有效的;我认为问题可能是您没有正确使用它。在节点中,您是从angular发出的get请求中提取它的,这意味着angular正在将ID附加到应用程序中的标头-这意味着angular已经拥有它,因此使用node尝试和g把它再放一次,然后把它送回去,这是多余的。