Chrome,Safari - 未捕获TypeError:无法读取null的属性“status”

时间:2013-10-01 12:55:19

标签: javascript ajax zend-framework

我每隔半分钟发送一次请求,然后在页面上显示更新的帖子,即可更新我页面上的一些帖子。

它在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框架中工作。

请建议任何解决方案。

1 个答案:

答案 0 :(得分:2)

尝试使用

if(typeof responseObject.status != 'undefined')

if(responseObject.hasOwnProperty('status'))

if('status' in responseObject)

来自: JavaScript isset() equivalent