Javascript具有此fin代码行,可提醒您正在使用的对象类型。 它是以下内容:
alert(Object.prototype.toString.apply(obj))
所以,我正在使用 php
和 js - extjs 4.2
,并寻找一种方法来传递由associative array
创建的使用 json_encode()
将php转换为java。所以我做了以下事情:
<?php echo json_encode($some_array); ?>
Ext.Ajax.request(
{
url: 'php/parse.php?id='+buttonText,
method: 'GET',
success: function(response)
{
//var obj = response;
var obj = response.responseText;
alert(Object.prototype.toString.apply(obj));
},
failure: function(response)
{
alert('server-side failure with status code ' + response.status);
}
});
代码的php部分位于parse.php
文件中,您可以从js代码中看到。当我警告obj时,它显示了一串json编码的php数组。并且js说 obj 是 string object
。如果我保留注释行没有responseText ,则js会提醒 obj is an Object
,但不会说出什么类型(猜测json类型)。
我想要实现的目标,是拥有一个合法的js数组,它将从响应中获取php数组(响应是函数中的参数)。谢谢
编辑:我的php数据结构
array
(
'vars' => array(
[0] => 'name' => '1', 'value' => 2
[1] => ... )
'file' => array(
[0] => 'name' => 'aaa.aa'
[1] => ...)
)
答案 0 :(得分:2)
您正在询问如何将一串JSON编码数据解析为Javascript对象。
内置的JSON.parse
函数就是这样做的。