1

我正在使用 Ajax 提交 hybridauth,但提交直接失败,有没有人尝试过这样的事情?请参阅下面的代码示例。

(login.php 未更改,但将结果发送到处理程序文件,该处理程序文件将结果发送回成功)

$(".socialClient").click(function(){
    var socID = $(this).attr("id");  //the ID for the social media provider image is the name of the provider
    $.ajax({
        type: "GET",
        url: "hybridauth/login.php",
            cache: false,
            data: {provider:socID},
        //enctype: "multipart/form-data",
        dataType: "text",
        success: function(data){
            //handle response, user info and such
        },
        error:function (xhr, ajaxOptions, thrownError){
            alert("Social media logon failed. Error code:" +thrownError);
        }
    });
});
4

2 回答 2

0

你能测试一下你在 login.php 文件中收到的内容吗?您可能已经尝试过,但是 JIC 编辑 login.php 以回显它收到的结果,如下所示:

LOGIN.PHP(在文件的最顶部):

<?php
$p = $_POST['provider']; //this may not be your post variable name
echo $p;
die();

然后在你的 ajax 成功函数中,提醒自己你收到了什么:

success: function(data) {
    alert(data);
}

了解您是否得到了您所期望的一个很好的第一步。

于 2012-11-23T23:14:28.223 回答
0

由于身份验证需要将用户重定向到提供程序,因此它不适用于 AJAX 调用。后端脚本将在 Redirect 函数中 die()。

对于替代解决方案,请检查此方法:https ://stackoverflow.com/a/29891358/1816603

于 2015-10-20T16:56:25.437 回答