Javascript函数从json返回一个对象

时间:2014-03-04 19:44:26

标签: javascript json

我有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。

任何人都可以解释如何做到这一点?

1 个答案:

答案 0 :(得分:0)

在服务器端,在PHP中,将request_type添加到json响应中,以便客户端AJAX回调将首先接收启动了AJAX的request_type。

在此之后您需要做的就是评估request_type(可能是switch case)并对该情况执行必要的操作(request_type)。

但老实说,我不会尝试使AJAX请求和回调“通用”,并且有1个URL指向5个php函数,这不是web api的最佳实践。