-2

我最近才开始使用 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);
}

有人能帮助我吗?

谢谢

4

2 回答 2

1

Angular 会将请求数据作为 json 编码的字符串发送。PHP 将无法解析该字符串,因此$_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);
}

在接收方。

于 2013-01-09T15:24:07.490 回答
0

调试您的 PHP 文件:

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

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

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

于 2013-01-09T15:16:50.067 回答