我使用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会发生什么事?
答案 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;