我每隔半分钟发送一次请求,然后在页面上显示更新的帖子,即可更新我页面上的一些帖子。
它在FireFox中正常运行,但在Chrome和Safari中,显示错误“无法读取属性'状态'为null”。以下是我的JavaScript代码,用于发送请求并显示成功结果。
var updatePost = function() {
var lastid = document.getElementById('lastTopic').value;
en4.core.request.send(new Request.JSON({
url : en4.core.baseUrl + 'group/topic/topic-update',
data : {
format : 'json',
lastid : lastid,
topic_id : '<?php echo $this->topic->getIdentity(); ?>',
group_id : '<?php echo $this->group->getIdentity(); ?>',
},
onRequest:function()
{
},
onSuccess : function(responseObject) {
if(responseObject.status) {
// Remove old last topic id
$('lastTopic').remove();
//Add notification at top of list
$('topicUpdateNotify').innerHTML = "<a href='javascript:void(0);' onclick='scrollToPost("+responseObject.newLastId+");'>New Post update is available - click this to show it. </a>";
// Append li to list with content
var ul = document.getElementById("group_discussions_thread");
var newLI = document.createElement("LI");
newLI.innerHTML = responseObject.body;
ul.appendChild(newLI);
}
}
}));
};
请求成功后,我使用if(responseObject.status) {}
检查了状态。它在FF中正常工作,但在Chrome和Safari中没有显示结果。
我在zend框架中工作。
请建议任何解决方案。
答案 0 :(得分:2)
尝试使用
if(typeof responseObject.status != 'undefined')
或
if(responseObject.hasOwnProperty('status'))
或
if('status' in responseObject)