2011-09-18 55 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线如果是。