即使Facebook正在向我提供所请求的数据,Ajax也会一直向该方法发送空值

问题描述 投票:0回答:1

我正在尝试通过Facebook登录,在控制台中它显示我正在获取所请求的数据(email,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);
javascript ajax facebook codeigniter
1个回答
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(); ?>";
                }
            }
        });
    });
}
© www.soinside.com 2019 - 2024. All rights reserved.