发送 http post 方法时未定义

getting undefined while sending http post method

我正在传递我的用户信息 http angularjs。后端代码是 PHP 因为我是初学者,所以我正在寻找这个问题。从2天开始尝试了很多方法但我找不到原因,以及如何解决它?。它可能很简单,但我找不到。

1.I 正在 post 在 angularJS 发送我的 http post 请求 我已经调试了我将发送的值是

调试值如下: serializedParams:"send_id=78&send_name=Douby&send_phone=4528&send_status=Due"

url: "insert.php?send_id=78&send_name=杜比&send_phone=4528&send_status=到期" 结果:未定义

我认为 url 是正确的。但结果未定义

var app = angular.module("myapp", []);
app.controller("booking", function($scope, $http) {
  $scope.paidops = ["Paid", "Due"];
  $scope.value = "ADD";
  $scope.insertvalues = function() {
    alert($scope.id + ' , ' +
      $scope.name + ' ,' + $scope.phone +
      ' , ' + $scope.status);
    alert($scope.name);
    var Indata = {
      'send_id': $scope.id,
      'send_name': $scope.name,
      'send_phone': $scope.phone,
      'send_status': $scope.status
    };
    $http({
      method: 'POST',
      url: 'insert.php',
      params: Indata,
      headers: {
        'Content-Type': 'application/x-www-form-urlencoded'
      }
    }).then(function(response) {
      alert(JSON.stringify(response));
    }, function(response) {
      alert(response);

    });
  }
});

在 PHP 中,我以这种方式获取数据:


     $connect = mysqli_connect("localhost:3307", "root", "", "ticket_booking");
     if($connect === false){
        die("ERROR: Could not connect. " . mysqli_connect_error());
    }
    
    $data = json_decode(file_get_contents("php://input"),true);
    if(count(array($data)) > 0)  
     
     {  
      $id_received = mysqli_real_escape_string($connect, $data->send_id);
     $name_received = mysqli_real_escape_string($connect, $data->send_name);
     $phone_received = mysqli_real_escape_string($connect, $data->send_phone);
     $status_received = mysqli_real_escape_string($connect, $data->send_status);
          $btnname_received = mysqli_real_escape_string($connect, $data->send_btnName);
    if($btnname_received == 'ADD'){
          $query = "INSERT INTO society_tour(id,name, phone, status) VALUES ('$id_received','$name_received', '$phone_received','$status_received')";  
          if(mysqli_query($connect, $query))  
          {  
               echo "Data Inserted...";  
          }  
          else  
          {  
               echo 'Error';  
          }  
         }
     ?>

  


不完全确定 PHP 部分,但由于您在 PHP 中有 json_decode,可以安全地假设 PHP 期望 JSON content-type

如果是这样,这里是如何post数据到url

var postUrl = 'insert.php'; // please check whether the url is correct
var dto = {
  'send_id': $scope.id,
  'send_name': $scope.name,
  'send_phone': $scope.phone,
  'send_status': $scope.status
};
$http({
  url: postUrl,
  method: 'POST',
  data: dto,
  headers: {
    "Content-Type": "application/json"
  }
})
//...