Angular JS:使用$ httpParamSerializerJQLike通过POST从select字段发送数据

时间:2015-11-22 23:50:50

标签: javascript angularjs

我在Angular JS中有一个表单。我用

提交
$scope.processForm = function() {
    $http({
        method  : 'POST',
        url     : 'info_upload.php',
        data    : $httpParamSerializerJQLike($scope.formData),
        headers : { 'Content-Type': 'application/x-www-form-urlencoded' }
    });

};

其中一个字段是选择。在html中:

<select ng-model="formData.frecuencia" ng-options="frecuencia as frecuencia.label for frecuencia in frecuencias" class="form-control" required>           
</select>

在js:

$scope.frecuencias = [{
    value: 1,
    label: 'Una sola vez'
}, {
    value: 2,
    label: 'Una vez a la semana'        
}, {
    value: 3,
    label: 'Una vez cada 2 semanas'        
}, {
    value: 4,
    label: 'Una vez al mes'        
}];

当我提交时,数据的格式如下

frecuencia%5Bvalue%5D:2
frecuencia%5Blabel%5D:Una+vez+a+la+semana
frecuencia%5B%24%24hashKey%5D:object%3A23

这对我的php无效,只需要'frecuencia'。

我有其他输入字段,它们工作正常。

我该怎么解决?如果您想看到它的实际效果,可以查看http://www.profesionalista.com/limpiadores/reserva.html

1 个答案:

答案 0 :(得分:1)

假设您要发送value属性,即

frecuencia=2

ng-options表达式更改为

"frecuencia.value as frecuencia.label for frecuencia in frecuencias"