【问题标题】:Error sending data from Angularjs to php将数据从 Angularjs 发送到 php 时出错
【发布时间】:2015-04-14 08:55:41
【问题描述】:

我正在使用 angularjs 和 php 的食谱创建移动应用程序。我正在尝试使用 angular 的 $stateParams 将来自 url 的配方中的 id 发送到使用 http POST 方法的服务器。 Id 发送或接收错误,因为当我检查本地主机中的数据时,我显示一个空对象。有谁知道我犯了什么错误?

Angularjs:

-视图控制器:

.controller('RecipeDetailCtrl', function($scope, $stateParams, Recipes) {

  Recipes.getRecipe($stateParams.recipeId).success(function(data){

        $scope.recipe = data;
        console.log($scope.recipe);
    })                                                
})

-services.js 中的函数:

   getRecipe : function(Id) {
        return $http({
            url: 'http://localhost/degusto/detail.php',
            method: 'POST',
            data: {'Id': Id},
            headers: { 'Content-Type': 'application/x-www-form-urlencoded' }
     }) 

  }

PHP:

   require_once("connect.php");

   $user_id = $_POST['Id'];

   echo "user_id:"+$user_id;

   $result = $conn->query("SELECT * FROM Recipes WHERE Id ='".$var."'");

   $outp = "[";
    while($rs = $result->fetch_array(MYSQLI_ASSOC)) {
       if ($outp != "[") {$outp .= ",";}
       $outp .= '{"Id":"'  . $rs["Id"] . '",';
       $outp .= '"Name":"'   . $rs["Name"]        . '",';
       $outp .= '"Date":"'   . $rs["Date"]        . '",';
       $outp .= '"Descrip":"'   . $rs["Descrip"]        . '",';
       $outp .= '"Image":"'. $rs["Image"]     . '"}';

      }
  $outp .="]";

  $conn->close();

  echo($outp);

  ?>

【问题讨论】:

    标签: javascript php database angularjs


    【解决方案1】:

    您将 $user_id 设置为 id,但您在 select 语句中使用了 $var

    $result = $conn->query("SELECT * FROM Recipes WHERE Id ='".$var."'");
    

    应该是

    $result = $conn->query("SELECT * FROM Recipes WHERE Id ='".$user_id."'");
    

    还要注意 SQL 注入 see here

    【讨论】:

      【解决方案2】:

      Id 是否与 PHP 相通?我过去经历过,您要发送的对象必须在容器对象中。

      你可以试试 data: $.param({'data' : {'Id': Id}}),

      然后在php中$data = $_POST['data'];

      【讨论】:

      • 我尝试使用容器对象,但仍然无法正常工作,向我发送了一个未定义的对象
      猜你喜欢
      • 1970-01-01
      • 2021-05-06
      • 2012-05-18
      • 2018-01-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-09-02
      相关资源
      最近更新 更多