我正在编写一个网络应用程序,它成功地允许我登录 Facebook(我正在使用 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 代码适用于我的另一个控制器,但不同之处在于另一个控制器捕获从表单传递的数据,因此 http.post 如下所示:
$http.post('http://somedomain.co.uk/php/submitdata.php', {Position1: $scope.position1}
捕获此数据的 php 中的代码是:
$Position1 = $objData->Position1->Name;
由于代码都在另一个控制器上运行,我假设问题在于我如何格式化我在 {} 之间传递的数据?