Javascript的最后一行代码提醒您正在处理的对象类型。内容如下:
alert(Object.prototype.toString.apply(obj))
所以,我正在与 php
和 js - extjs 4.2
一起工作,并寻找一种方法通过使用 json_encode()
将php创建的associative array
传递给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数组。在函数中)。由于
EDIT: my php数组结构
array
(
'vars' => array(
[0] => 'name' => '1', 'value' => 2
[1] => ... )
'file' => array(
[0] => 'name' => 'aaa.aa'
[1] => ...)
)
你在问如何解析 json编码的数据字符串到Javascript对象。
内置的JSON.parse
函数就是这样做的。