即使Facebook向我提供了请求的数据,Ajax仍会向该方法发送空值

时间:2019-04-14 17:11:47

标签: javascript ajax facebook codeigniter

我试图通过Facebook登录,在控制台中显示我正在获取请求的数据(电子邮件,first_name ...),但是ajax一直向PHP方法发送空数据。

这是ajax代码:

function saveUserData() {
            FB.api('/me?fields=id,first_name,last_name,email', function(response){

                $.ajax({
                    url: '<?php echo base_url();?>Auth/fb_auth',
                    data: {response: JSON.stringify(response)},
                    type: 'POST',
                    dataType: 'json',
                    success: function (data) {

                        if(data['state'] == 'ok'){
                            window.location.href ="<?php echo base_url(); ?>";
                        }
                    }
                });
            });

        }

这就是我在方法中获取数据的方式:

$response  = json_decode($this->input->post('response'), true);

1 个答案:

答案 0 :(得分:0)

您不需要使用$.ajax对内容进行分类,它可以为您完成。另外,您可以改用$.post

function saveUserData() {
    FB.api('/me?fields=id,first_name,last_name,email', function(response){
        $.post({
            url: '<?php echo base_url();?>Auth/fb_auth',
            data: response,
            dataType: 'json',
            success: function (data) {
                if(data['state'] === 'ok'){
                    window.location.href ="<?php echo base_url(); ?>";
                }
            }
        });
    });
}