2011-09-18 60 views
-3
function OnSuccessPM(results) { 
      $("#ChatBox").html(""); 
      for (var i = 0; i < results.length; i++) { 
       $("#ChatBox").append(results[i].username + " : " + results[i].message + ". <br />"); 
      } 
      var objDiv = document.getElementById("ChatBox"); 
      objDiv.scrollTop = objDiv.scrollHeight; 
      return false; 
    } 

MetamorphismApp.ChatService.GetPublicMessages(OnSuccessPM, OnFailurePM); 

[WebMethod(EnableSession = true)] 
     public List<Message> GetPublicMessages() 
     { 
      List<Message> getMsgsList = (List<Message>)HttpContext.Current.Application["Messages"]; 
      return getMsgsList; 
     } 

我得到IE以下錯誤:JavaScript錯誤在IE

長度爲空或不是一個對象。

什麼是解決方案?

+7

這個函數是如何被調用的?什麼是作爲參數傳遞? 'results'必須通過一個javascript數組才能工作。這是你的情況嗎?什麼是GetPublicMessages函數?它是如何實現的?如果您不提供更多詳細信息,我們無法幫助您。 –

+0

什麼是'MetamorphismApp'?您使用Web服務的方式存在問題。 –

回答

0

簡單(但不是最好的,最好的是修復被傳遞什麼到你的OnSuccessPM功能)的方法是檢查typeOfresults變量,以確保它是一個數組,只進行到results.length線如果是。