所以即时创建倒计时发生的情况,当它倒计时到零时,ajax帖子被触发,php
thens返回json_encoded array
并且我想循环抛出这个数组和.remove
需要删除的内容和.appendTo
需要添加的内容。但是,我似乎很难从服务器返回的element
访问json object
....我正在undefined
console 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.....
}
});
答案 0 :(得分: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
答案 1 :(得分:0)
您的data.m
不起作用,因为data
是一个字符串。
您可能打算在m
的解码版本中访问data
,您称之为y
:
console.log(y[m]);
我使用[m]
代替.m
,因为m
以数字开头。
<强>顺便说一下强>
如果您始终要将HTML解码为JSON,您还可以将datatype
选项的$.ajax
设置为'json'
。