$ scope变量在post中未定义

时间:2017-04-23 03:40:06

标签: angularjs

我在JSON中使用了data_biaya中的AngularJS repeat biaya。

当我点击=" simpan_biaya(data_biaya)"时,为什么数据发布未定义?

<input type="button" ng-click="simpan_biaya(data_biaya)" value="Simpan"/>
<tr ng-repeat="biaya in data_biaya | filter:{tahapan_id : 10}" >
      <td>{{$index+1}}</td>
      <td><span >{{biaya.tanggal_transaksi}}</span></td>
      <td><span>{{biaya.uraian}}</span></td>
      <td><span>{{biaya.pihak_nama}}</span></td>
      <td><span >{{data_biaya[$index].pemasukan}}</span></td>
      <td><span>{{biaya.pengeluaran}}</span></td>
      <td>{{biaya.sisa}}</td>
      <td><span >{{biaya.keterangan}}</span></td>
    </tr>

的JavaScript

    var datanya=[
        {"id":"23713","id_pembiayaan":"1","perkara_id":"7200","tahapan_id":"10","kategori_id":"1","jenis_biaya_id":"1","pihak_id":null,"pihak_ke":null,"urutan":"1","jenis_transaksi":"1","tanggal_transaksi":"2016-05-26","uraian":"Panjar Biaya Perkara","pemasukan":1000000,"pengeluaran":0,"jumlah":1000000,"sisa":1000000,"keterangan":null,"pihak_nama":"Penggugat"},
        {"id":"23714","id_pembiayaan":"1","perkara_id":"7200","tahapan_id":"10","kategori_id":"11","jenis_biaya_id":"61","pihak_id":null,"pihak_ke":null,"urutan":"2","jenis_transaksi":"-1","tanggal_transaksi":"2016-05-26","uraian":"Biaya Pendaftaran\/PNBP","pemasukan":0,"pengeluaran":"30000.00","jumlah":"30000.00","sisa":970000,"keterangan":null,"pihak_nama":"Penggugat"}
  ];
    var app = angular.module('jurnalApp', []);
    app.controller('jurnalCtrl', function($scope,$http) {
      $scope.data_biaya = [];
      $scope.searchClick = function (data) {
                $scope.$apply(function(){
                      $scope.data_biaya=datanya;
                    });
            };
      $scope.simpan_biaya = function(data){
                var post_data = data;
                $.post("<?php echo base_url().'all_jurnal/set_jurnal_biaya';?>", post_data)
                    .done(function(json){

                });
            }
      angular.element(document).ready(function () {
                $scope.searchClick();
            });

    });

此处:plunker

Enter image description here

2 个答案:

答案 0 :(得分:1)

试试这个:

 <input type="button" ng-click="simpan_biaya(data_biaya)" value="Simpan"/>

<强> DEMO

根据附带的屏幕截图,您应该传递JSON数据,在传递之前将数据转换为JSON:

 var dataJson=angular.toJson(post_data);

答案 1 :(得分:0)

你应该使用它:

 var post_data = data; var dataJson=angular.toJson(post_data); $.post("
         <?php echo base_url().'all_jurnal/set_jurnal_biaya';?>", dataJson ) .done(function(json){ });