如何使用 AngularJS 的 ng-model 创建一个数组以及如何使用 jquery 提交?

Posted

技术标签:

【中文标题】如何使用 AngularJS 的 ng-model 创建一个数组以及如何使用 jquery 提交?【英文标题】:How to create an Array with AngularJS's ng-model and how to submit using jquery? 【发布时间】:2017-07-24 15:17:35 【问题描述】:

我必须使用 jquery 和 angularjs 提交值数组。当我单击提交按钮时,我只得到第一个数组值。如何使用 ng-model 获取所有数组值。这是我的所有代码 https://jsfiddle.net/rijo/6dLxhr7j/ 下面给出的脚本代码

$scope.onSubmit = function()
    sum = $scope.obj;
    console.log(sum);
        $http(
            method : 'POST',
            url : 'admin_controller.php',
            data: $.param(sum),
            headers: 'Content-Type': 'application/x-www-form-urlencoded'
        ).then(function (response) 
            console.log("OK");
        );
    

请任何人帮忙..谢谢!

【问题讨论】:

AngularJS 框架一般会以'Content-Type: application/json 发布数据,不需要用jQuery param 方法序列化。 看***: Receive JSON POST with PHP。 【参考方案1】:

您必须将数据作为对象发布,将数组作为对象属性值传递。在这种情况下,我使用的是$http.post 快捷方式。

function buildParam()
    // write any needed logic to get, build your array
    // maybe a loop extracting values from collection, etc.
    var myArray = []; // here your array of values, objects, etc.
    return myArray;


$scope.onSubmit = function()
    sum = 
        myAttr: buildParam()
    ;

    $http.post('admin_controller.php', sum).then(
        function(response) 
            console.log('ok');
               
    );

【讨论】:

我想获得动态值,而不是静态值 你能告诉我如何从我的 html 代码中获取动态值 $http 服务自动转换带有angular.toJson 的请求数据。请参阅AngularJS $http Service API Reference - Default Transformations 或在$http service source code line #293 中亲自查看。

以上是关于如何使用 AngularJS 的 ng-model 创建一个数组以及如何使用 jquery 提交?的主要内容,如果未能解决你的问题,请参考以下文章

如何根据 angularjs 中的选定对象更新 ng-model?

Angularjs - 如何“ng-repeat”一个 div 以获取“ng-model 中的值”-times?

ng-model 绑定到 ng-repeat Angularjs 中的元素

AngularJS - 创建一个使用 ng-model 的指令

AngularJS - 无法使用指令在 ng-model 中引用 $index

angularjs在ng-model中添加空格