对php的Angular post请求失败

时间:2016-04-16 09:41:30

标签: javascript php angularjs

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

<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这些值时,它可以工作。 我选择POST数据的方法有什么问题吗?

P.S:我没有发布整个控制器。这里只包含http请求部分。

1 个答案:

答案 0 :(得分:1)

我遇到SELECT * FROM `bill_item` WHERE (bill_time BETWEEN '12:00:00' AND '06:00:00') AND bill_date = CURRENT_DATE() 没有成功的情况!

尝试使用以下方式获取原始数据

$_POST()

可能会有所帮助。

<强>更新

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