我想从文件中检索数据,并在完成后对其进行处理。我的Class DataService.js 正在完成其工作,但是从外面,我无法获取已加载的数据。下面是我的代码。
main.js
.
.
.
$('#loadMyData').on('click',function(event) {
var m = dataService.loadLanguage().done(dataService.handleData);
$.when(m).done(function() {
console.log(dataService.loadedLanguage); // undefined
});
});
.
.
.
DataService.js
class DataService {
loadedLanguage;
constructor() {
this.loadedLanguage;
}
loadLanguage() {
return $.ajax({
url: "php/services/readLanguage.php",
type: "GET",
async: true,
data: {data: "test"},
dataTyp: 'json'
});
};
handleData(data) {
this.loadedLanguage = JSON.parse(data);
console.log(this.loadedLanguage); // ok
}
}
为什么“ loadedLanguage”仍未定义,即使其已成功加载。
答案 0 :(得分:0)
$。when的语法
$.when( { testing: 123 } ).done(function( x ) {
alert( x.testing ); // Alerts "123"
});
您应该这样写。
$('#loadMyData').on('click',function(event) {
var m = dataService.loadLanguage().done(dataService.handleData);
$.when(m).done(function(responce) {
console.log(responce); // You should catch response like this
});
});