我有5个功能的PHP脚本。脚本获取“request_type”“user_id”和“youtube_id”并执行适合“request_type”的函数(五个中的一个)
每个函数都返回json。
现在在客户端我有这个javascript函数。我希望它尽可能通用,这意味着我希望它从php获取数据并将其作为对象返回。
function request_to_server(f_request_type, f_user_id, f_youtube_id) {
var my_answer;
$.ajax({
type : "POST",
dataType : "json",
url : "http://example.com/youtube_save.php",
data : {request_type: f_request_type, user_id : f_user_id, youtube_id:f_youtube_id },
success: function(response) {
my_answer = JSON.parse( response );
}
});
return my_answer;
}
以下是获取此对象的另一个函数的示例
function show_button_or_not() {
var user_id = $('#hold_user_id').val();
var answer = request_to_server('show_button','89',"lala");
if(answer.success) {
alert("yes");
} else {
alert("no");
}
}
但正如我所说,php可以返回不同种类的json。它可以有(可选的)response.success,response.book,response.author。
任何人都可以解释如何做到这一点?
答案 0 :(得分:0)
在服务器端,在PHP中,将request_type添加到json响应中,以便客户端AJAX回调将首先接收启动了AJAX的request_type。
在此之后您需要做的就是评估request_type(可能是switch case)并对该情况执行必要的操作(request_type)。
但老实说,我不会尝试使AJAX请求和回调“通用”,并且有1个URL指向5个php函数,这不是web api的最佳实践。