0

我正在编写一个网络应用程序,它成功地允许我登录 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;

由于代码都在另一个控制器上运行,我假设问题在于我如何格式化我在 {} 之间传递的数据?

4

1 回答 1

1

尝试定义成功\错误回调

$http.post("http://somedomain.co.uk/php/users.php", {uid: fbid})
    .success(function(data, status, headers, config) {
        $scope.data = data;
    }).error(function(data, status, headers, config) {
        $scope.status = status;
    });

那它会说什么呢?

于 2013-02-19T17:51:09.177 回答