我正在建立一个通过AJAX调用PHP的网站,现在AJAX使用POST从PHP获取一个回显的字符串,然后在交换机中进行比较,然后执行所需的操作。以下代码中的示例
function submitPHP(dataForPHP){
//Runs ajax request
$.ajax({
type : "POST",
url : 'initPHP.php',
dataType : 'text',
data : dataForPHP,
success : function(data){
//Checks echoed data from PHP
switch(data){
case "LOGIN_ACCEPTED":
loggedInFunction();
break;
case "LOGIN_FAILED":
loggedInFailedFunction();
break;
}
}
});
}
我在想是否有办法让PHP返回什么函数(比如“loggedInFunction();”)我想调用而不是字符串,然后我必须比较然后调用函数?我可以将AJAX更改为使用JSON,如果这样做的话。
我一直在寻找堆叠上的其他类似问题,大多数人想要回应整个功能,这不是我想做的。
提前致谢!
答案 0 :(得分:0)
我这样做。
拥有控制器的想法在几个层面上很方便:
这是一个例子:
loginController = {
"acceptAction": function () {
},
"failAction": function () {
}
};
现在可以从AJAX处理程序中调用这些方法。假设服务器告诉您必须做什么。一个动词可以这么说,例如accept
或fail
。然后你可以这样做:
"success": function (data) {
loginController[data + "Action"]();
}
就是这样。
BTW:这只是非常基本的MVC模式。 Oldie但是goldie:)