无法从angularjs正确获取$ _SESSION变量

时间:2016-06-30 16:32:24

标签: javascript php angularjs session

我使用angularjs,现在我想得到一个php会话变量,所以我创建了一个名为session.php的php文件,里面有这个内容:

$_SESSION['phone'] = '55551864';
return json_encode($_SESSION['phone']);
来自angularj的

,我发出此请求:

$http({
      method: 'GET',
      url: 'session.php'
}).then(function successCallback(response) 
{
    var phone_number = JSON.stringify(response);
    alert(phone_number);
}, function errorCallback(response) {
  alert("error happean!");
});

警报显示此内容:

{"data":"","status":200,"config":{"method":"GET","transormRequest":[null],"transoformResponse":[null],"url":"session.php","headers":{}},"statusText":"OK"}

我只想回复55551864会发生什么事?

1 个答案:

答案 0 :(得分:1)

$http response对象具有这些属性

  
  • 数据 - {string|Object} -   响应体用变换函数转换。
  •   
  • 状态 - {number} - HTTP   响应的状态代码。
  • 标题 -   {function([headerName])} - 标题获取功能。
  •   
  • config - {Object} -   用于生成请求的配置对象。
  •   
  • statusText - {string} - 响应的HTTP状态文本。
  •   

所以你要找的是response.data。正如评论中指出的那样,你应该使用echo而不是return。 JSON编码单个字符串没有意义,只是回显字符串。然后就不需要在客户端上解码它了。

$_SESSION['phone'] = '55551864';
echo $_SESSION['phone'];
...
var phone_number = response.data;
相关问题