[英]AngularJS: Why is $http response.data an object, when php returns a JSON string?
我有一个ajax电话到PHP。
角度直截了当:
$http( { // ...
}
)
.then( function cf_handle_success( argo_response )
{ console.log( argo_response.data ) ; // --> [object Object]
} ,
// ...
) ;
PHP是直接的:
$lvl = array( "prop_A" => "value_A" , ... ) ;
echo json_encode( $lvl , JSON_FORCE_OBJECT ) ;
为什么argo_response.data
不是JSON字符串?
的确,一旦客户端从php接收到返回的信息,我将需要通过(JSON.parse(my_jsonString);)
将其转换为对象。
因为Angular会自动为您解析它,就像jQuery和其他几个库一样。
从$http
docs中 :
默认转换:
...
响应转换(
$httpProvider.defaults.transformResponse
和$http.defaults.transformResponse
):
- 如果检测到XSRF前缀,则将其剥离(请参阅下面的“安全注意事项”部分)。
- 如果检测到JSON响应,请使用JSON解析器反序列化。
(我对最后一个子弹的强调)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.