0

我精通 PHP,但我是 AJAX 的初学者,而 JSON 让我发疯。

我的 PHP 脚本提供了一个简单的 JSON 字符串,例如

    {"bindings": [ {"ircEvent": "PRIVMSG", "method": "newURI", "regex": "^http://.*"},
    {"ircEvent": "PRIVMSG", "method": "deleteURI", "regex": "^delete.*"}, 
    {"ircEvent": "PRIVMSG", "method": "randomURI", "regex": "^random.*"} ] } I 

检索它如下:

var fillDataMasterTable = $.ajax({          
    url: "/php/PrepareGoogleDataTable.php" +"?"+
                "SensorString="+SensorString + "&"+
                "TableType=" + TableType +"&"+
                "NoAbscissaBins=" + NoAbscissaBins + "&"+
                "DataTableName=" + DataTableName +"&"+
                "TimeUnit=" + TimeUnit +"&"+
                "TimeStart=" + TimeStart,          
    dataType:'json',          
    async: false          
    }).responseText;    

 $('#debug_div').html(fillDataMasterTable);

这很好,我得到了我的 JSON 字符串。但是我怎样才能访问各个值呢?我试过:

          $('#debug_div').html(fillDataMasterTable.bindings);

但这行不通。我当然在这里做了一些非常愚蠢的事情,我有点羞愧 - 但我确实需要一些帮助才能让自己开始......

4

2 回答 2

4

reponseText是对象的属性,请求后XMLHttpRequest它不会是对象。它将是一个。并且它不会改变,无论您指定为。JSONString"dataType""json"

所以你需要将其转换为 json 对象:

 fillDataMasterTable = JSON.parse(fillDataMasterTable);

然后你可以访问这样的属性:

 fillDataMasterTable.bindings
于 2012-07-06T20:30:10.810 回答
1

像这样使用 Jquery:

$.each(fillDataMasterTable.bindings, function(i, object) {
            $.each(object, bindings(property, value) {
                $('#debug_div').html(value);
            });
        });
于 2012-07-06T20:30:04.173 回答