Json onLoad做了什么以及如何通过电话返回一些内容?

时间:2011-07-04 09:43:47

标签: javascript json

function JsonCall() {
    JsonClient.setRequestHeader("Content-type", "application/json");
    JsonClient.send(Data);     
    JsonClient.onload = function() {    
      SomeOtherFunction(this.responseText);      
    }           
}

// This function is in someother class.

    var Object = {
        SomeOtherFunction: function() {
         return data;
        }
   }
  1. 我的JsonCall功能如何? 返回?
  2. 我可以尽我所能吗? 从onLoad调用中返回值 Json对象?
  3. 我想在我的另一个类中做一些逻辑并通过这个JsonCall函数返回值

2 个答案:

答案 0 :(得分:1)

  

Json onLoad做什么

您可以为其指定功能。它在HTTP响应到达时运行该函数。

  

如何通过电话回复?

你做不到。这是事件驱动的编程。当事件发生时,您可以做出回应。在事件发生之前,您不能暂停执行代码,然后继续执行。

无论您需要对数据执行什么操作,都必须在分配给onLoad的回调函数中执行此操作。你不能把它传回去。

答案 1 :(得分:1)

对我来说很奇怪。这里JsonClient对象应该是XHR对象。但是,XHR对象通过检查onreadystatechange属性提供readyState事件来处理完整转移。

唯一的例外是Internet Explorer中的XDomainRequest对象。该对象确实具有.onload属性。现在,您的JsonCall()方法返回undefined。您需要添加callback method才能执行。像

function JsonCall( SomeOtherFunction ) {
    JsonClient.setRequestHeader("Content-type", "application/json");
    JsonClient.send(Data);     
    JsonClient.onload = function() {    
      SomeOtherFunction(this.responseText);      
    }           
}

然后将其称为

JsonCall( Object.SomeOtherFunction );

我希望Object只是一个示例词。