我有一个对php的ajax调用。
角度很直接:
$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);)
将其转换为对象。
答案 0 :(得分:3)
因为Angular会自动为你解析它,就像jQuery和其他一些lib一样。
来自$http
docs:
默认转换:
...
响应转换(
$httpProvider.defaults.transformResponse
和$http.defaults.transformResponse
):
- 如果检测到XSRF前缀,请将其删除(请参阅下面的“安全注意事项”部分)。
- 如果检测到JSON响应,请使用JSON解析器对其进行反序列化。
(我强调最后一颗子弹)