【发布时间】:2017-03-28 14:45:11
【问题描述】:
我有一个 Angular JS 和 Laravel 应用程序。我的表单字段之一是ng-options 驱动选择。这些值是字符串,但是当我使用 http.post 发布时,其中一个值似乎正在转换为数组。
我的 JS 控制器中有这个选项;
$scope.periods = [
{label: '1'},
{label: '2'},
{label: '3'},
{label: 'OT'}
];
这是我对选择的看法;
<select ng-model="egoal.period"
ng-options="period.label as period.label for period in periods"
class="form-control game-control"
required>
</select>
然后这个在控制器中发布;
$scope.changeGoal = function() {
var egoal = this.egoal;
$http.post('api/editGoal/' + this.goal.id, egoal)
.success(function () {
$scope.egoal = {};
});
};
奇怪的是,当我转储$request 时,我得到period => [] 然后这个错误;
helpers.php 第 685 行中的错误异常: preg_replace():参数不匹配,pattern是字符串而replacement是数组
关注这个很久了。这可能是什么原因造成的?
谢谢!
更新: 选择后egoal对象是这样的;
EGoal: {
"id": 268,
"game": 147,
"season": 4,
"team_id": 2,
"period": "2",
"min": 7,
"sec": 54,
"scorer": 11,
}
但周期值在发布时转换为空数组...
【问题讨论】: