我正在调用ParentObject.doSomething(),它调用WebService对象来执行一些ajax调用,并且在ajax调用成功时,执行回调函数.但是回调函数中的任何父函数都会失败.
我认为这与范围解析有关.我无法找到解决此问题的方法.
是否有更好的架构风格来模块化ajax服务和模型?
我也创建了一个jsfiddle - http://jsfiddle.net/bzKXr/2/
var ParentObject = {
doSomething: function(){
document.write("Inside doSomething <br />");
var self = this;
WebServices.firstService("some URL", self.successCallback);
},
changeData: function(data){
//Manipulate data
document.write("Inside changeData <br />");
},
successCallback: function(jsonData){
document.write("Inside successCallback <br />");
try {
//Execution fails at this point. Possibly because of scope resolution
this.changeData(jsonData);
}
catch (error) {
console.log(error);
document.write(error);
}
},
};
var WebServices = {
firstService: function(url, successCallbackHandler){
document.write("Inside firstService <br />");
//Get data using the URL
//on success call …Run Code Online (Sandbox Code Playgroud)