我正在用 javascript 编写一个用户界面,它将从 HTML 中获取数据并使用 javascript 通过 API 传递数据。我试图获取数据并将其传递给函数,而无需编写一堆 if 语句。但是,某些操作的操作在其他 Controller 中具有相同的名称。所以我有一个嵌套的命名空间,现在我无法访问嵌套的函数。希望有人能帮忙。
在此之前一切正常。
var apiHandler = {
user: {
login: function(){
console.log("test");
}
}
};
function callAPI(apiObject){
//console.log(apiObject);
var apiData = JSON.stringify(apiObject);
$.ajax({
type: "POST",
url: 'https://dev.tragicstudios.com/clients/trego/api/index.php',
data: {'enc_request':apiData},
dataType: 'json',
success: function(data){
var apiFunction = apiObject.controller+"."+apiObject.action;
console.log(apiFunction);
apiHandler["user.login"]();
return data;
}
});
}
最佳答案
只需将 Controller 和操作部分用作单独的键,而不是将它们组合起来:
apiHandler[apiObject.controller][apiObject.action]();
关于javascript - 嵌套命名空间 JavaScript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28574982/