1

Ajax を使用してハイブリッド認証を送信していますが、送信がすぐに失敗します。以前にこのようなことを試みた人はいますか? コード例については、以下を参照してください。

(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

認証ではユーザーをプロバイダーにリダイレクトする必要があるため、AJAX 呼び出しでは機能しません。バックエンド スクリプトは Redirect 関数で die() します。

別の解決策については、次のアプローチを確認してください: https://stackoverflow.com/a/29891358/1816603

于 2015-10-20T16:56:25.437 に答える
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 に答える