不使用onclick功能将数据发送到控制器

时间:2015-06-17 10:35:03

标签: javascript jquery ajax codeigniter

我在杰森使用这个按钮。

<button id="bid" type="button" class="button" onclick="connect()">Save</button>

当我在document.getElementById之后使用alert时显示更改。但它不适用于ajax功能。这是我的连接功能

 function connect()
 {    
    var BID = document.getElementById('BID').value;
    var REF = document.getElementById('ref_po').value;
    var POU = document.getElementById('po_units').value;
    //**alert(BID + REF + POU);**
    var url ='<?php echo base_url()."index.php/main/transacIn/"  ?>';
    $.ajax({
    type: "POST",
    url: url,
    data: 'BID='+BID +'&REF='+REF +'&POU='+POU,
    success: function(data) { 
        //$("#bid").hide();
        alert(BID);
        }
    });

}

提醒(BID + REF + POU); 此提醒有效但成功无效。并且它不会将任何数据发送到控制器。帮帮我。提前谢谢。

3 个答案:

答案 0 :(得分:1)

Try this solution.
It will work.

$.post(url , {BID: BID, REF: REF, POU:POU },
    function(data){
    alert(BID);
    });

答案 1 :(得分:0)

你不能将php语法注入javascript文件。您可以将codeigniter模板文件中的脚本定义为

<script type="text/javascript">
// Your javascript function
</script>

...或者您可以在模板文件中定义一个实际获取控制器路径的javascript变量:

var url = <?php echo base_url()."index.php/main/transacIn/"  ?>';

然后在ajax帖子上的javascript文件中,您指向模板文件中定义的变量:

$.ajax({
    type: "POST",
    url: url,
    data: 'BID='+BID +'&REF='+REF +'&POU='+POU,
    success: function(data) { 
        //$("#bid").hide();
        alert(BID);
        }
    });

希望你明白了。

无论如何,你需要小心定义全局变量。通过使用命名空间来保护变量是一种很好的做法。

答案 2 :(得分:0)

试试这个

function connect()
 {      
  var BID = document.getElementById('BID').value;
  var REF = document.getElementById('ref_po').value;
  var POU = document.getElementById('po_units').value;
  var site_url = document.getElementById('site_url').value;

  var url = site_url+'main/transacIn';
  $.ajax({
   type: "POST",
   url: url,
   data: {
            BID : BID ,
            REF: REF,
            POU:POU

        },
   success: function(data) { 
    //$("#bid").hide();
    alert(BID);
    },
   error: function(err) { 
    console.log(err);
    }
  });

}

您应该在相应页面中隐藏字段<input id="site_url" type="hidden" value="<?php echo site_url(); ?>"/>