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;
}
}
我想在我的另一个类中做一些逻辑并通过这个JsonCall函数返回值
答案 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
只是一个示例词。