我正在尝试通过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);
你不需要用$.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(); ?>";
}
}
});
});
}