1

所以我创造了这种倒计时发生的情况,当它倒计时到零时,一个 ajax 帖子被触发,php 然后返回一个json_encoded array我想循环抛出这个数组和.remove需要删除的.appendTo东西以及需要删除的东西添加。但是,我似乎很难从服务器返回的内容中访问element...。json object我进入undefinedconsole log

jQuery:

    $.ajax({
            url: "morphelo/splash.php",
                type: "POST",
                data: "x=<?=md5('countdown')?>&CountdownType="+type+"&id="+ID+"&what=<?md5('drop')?>",
                datatype: "html",
                success: function(data){ 
data = // {"19e0fa430b5a0437b87cf5bf7a365011":{"clutch-1337653726-445648193-0a6e039a028dd9a64239473ff08c82c6":"sub-clu-li**clutch-1337653726-445648193-0a6e039a028dd9a64239473ff08c82c6"}}

    var x = type.split('/');// 19e0fa430b5a0437b87cf5bf7a365011/unclock
        var m = x[0]; // 19e0fa430b5a0437b87cf5bf7a365011
    var y = $.parseJSON(data);
    console.log(y);
    console.log(m);
    console.log(data.m) // but it says undefinded.....          
            }
        });
4

2 回答 2

0

你应该data[m]改用。

data.m表示您的对象中有一个属性名称m,而不是m.

var obj = {a:1,b:2};
var m = 'a';
console.log(obj.m); // undefined
console.log(obj[m]); // 1
于 2012-05-22T03:44:51.503 回答
0

你的data.m不起作用,因为data是一个字符串。

您可能打算访问您称之为m的解码版本:datay

console.log(y[m]);

我使用[m]而不是.m因为m以数字开头。

顺便提一句

如果您总是要将 HTML 解码为 JSON,您还可以datatype$.ajax选项设置为'json'.

于 2012-05-22T03:52:12.577 回答