Facebookに正常にログインできるWebアプリを作成しています(PhonegapとPhonegap Facebookプラグインを使用しています)。次に、ログインしたユーザーの名前とIDを保存します。簡単なテストとして、次のコントローラーでIDを収集し、xcodeコンソールに表示してそこにあることを確認してから、以下のphpコードに送信して、mysqlテーブルに保存します。私はそれを機能させることができないようで、おそらく$ http.post内の{}のデータの形式だと思いますが、これを理解することは私の現在の知識を少し超えています。何か案は?
function FacebookCtrl($scope) {
FB.api('/me', function(response) {
var fbid=response.id;
console.log('Testing, ' + fbid + '.');
$http.post('http://somedomain.co.uk/php/users.php', {uid: fbid})
console.log('Complete');
});
}
受信側のphpコードは次のとおりです。
<?php
$data = file_get_contents("php://input");
$objData = json_decode($data);
$uid = $objData->uid;
try {
include 'database.php';
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$stmt = $conn->prepare('INSERT INTO Userdata (oauth_uid) VALUES (:userid)');
$stmt->execute(array(
':userid' => $uid,
));
} catch(PDOException $e) {
echo 'ERROR: ' . $e->getMessage();
}
?>
同じphpコードが私のコントローラーの別の1つで機能しますが、違いは、他のコントローラーがフォームから渡されたデータをキャプチャするため、http.postは次のようになります。
$http.post('http://somedomain.co.uk/php/submitdata.php', {Position1: $scope.position1}
そして、このデータをキャプチャするphpのコードは次のとおりです。
$Position1 = $objData->Position1->Name;
コードはすべて別のコントローラーで機能するため、問題は{}間で渡すデータのフォーマット方法にあると思いますか?