【问题标题】:Angular post request to php failed对 php 的 Angular 发布请求失败
【发布时间】:2016-08-08 08:02:16
【问题描述】:

我有一个包含两个字段的简单表单。

<form name="save" ng-submit="sap.saved(save.$valid)" novalidate>

        <div class="form-group" >
            <input type="text" name="name" id="name" ng-model="sap.name" />
        </div>

        <div class="form-group" >
            <input type="email" name="email" id="email" ng-model="sap.email" />
        </div>

        <div class="form-actions">
            <button type="submit" ng-disabled="save.$invalid || sap.dataLoading">Save</button>
        </div>
</form>

我正在尝试使用 POST 请求将这些值发布到 php 页面。

                $http({
                  method: 'post',
                  url: 'save.php',
                  data: $scope.vm,
                  headers: {'Content-Type': 'application/x-www-form-urlencoded'}
                })
                .success(function(data, status, headers, config) 
                {
                    if(data.success)
                    {
                        alert('valid');
                    }
                    else
                    {
                        alert('invalid 1');
                    }
                }).
                error(function(data, status, headers, config) 
                {
                    alert('invalid 2');
                });

在 save.php 文件中,我正在获取如下值:

$name=$_POST['name'];
$email=$_POST['email'];

但我得到的响应是未定义的变量名。这是一个 PHP 通知。但是当我尝试从 POSTman 客户端发布这些值时,它可以工作。 我选择 POST 数据的方法有什么问题吗?

P.S:我没有发布整个控制器。此处仅包含 http 请求部分。

【问题讨论】:

    标签: javascript php angularjs


    【解决方案1】:

    我遇到了同样的情况,$_POST() 没有成功!

    尝试通过以下方式获取原始数据:

    json_decode(file_get_contents('php://input'))
    

    可能会有帮助。

    更新:

    This Answer 解释了为什么在 php 中没有填充 $_POST 变量 当数据以角度发布时!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-01-10
      • 2017-05-20
      • 1970-01-01
      • 1970-01-01
      • 2019-02-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多