AngularJS无法保存到数据库

时间:2013-01-09 15:11:48

标签: php angularjs

我最近才开始使用Angular,但我仍有一些困难......

我似乎无法使用我的角度数据更新我的数据库,但是我可以从我的数据库中获取数据。

这是我想要尝试发布数据的代码。

$scope.submit = function(infographic){
    var data = {
            id: infographic.PK_InfoID,
            label: infographic.label,
            value: infographic.value
        };
        console.log(data);
       $http.put("dataout.php", data).success(function(data) {
                                console.log(data);
                                                });
   };

这是我使用的PHP:

if(isset($_POST['id'])){

    $id = $_POST['id'];
    $label = $_POST['label'];
    $value = $_POST['value'];
    $query = "UPDATE tblInfo SET label = '".$label"', value = '".$value"' WHERE PK_InfoID = '$id'";
    mysql_query($query);
}

有人能帮助我吗?

THX

2 个答案:

答案 0 :(得分:1)

Angular会将请求数据作为json编码的字符串发送。 $_POST为空。

使用类似:

<?php
$data = json_decode(file_get_contents('php://input'), true);
if (json_last_error() === JSON_ERROR_NONE) {
  // use $data instead of $_POST
  print_r($data);
}

在接收方。

答案 1 :(得分:0)

调试PHP文件:

file_put_contents('/tmp/postContents.txt', print_r($_POST, true));

这将告诉您PHP脚本是否收到您期望的数据。

另外:确保您没有创建SQL注入安全问题。你应该转义值($ label等)。 Google“sql injection php”获取信息。