0

Javascript 有这行代码,可以提醒您正在使用什么类型的对象。如下:

alert(Object.prototype.toString.apply(obj))

所以,我正在使用phpand js - extjs 4.2,并寻找一种方法将associative arrayphp 创建的传递给 java 通过使用json_encode(). 所以我做了以下事情:

<?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);
    }
});

parse.php从 js 代码中可以看到,代码的 php 部分在文件中。当我提醒 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] => ...)
)
4

1 回答 1

2

您在询问如何将JSON 编码的数据字符串解析为 Javascript 对象。

内置JSON.parse函数正是这样做的。

于 2013-05-23T17:32:10.940 回答