jquery 不向具有onclick功能的控制器发送数据

nuypyhwy  于 2022-11-03  发布在  jQuery
关注(0)|答案(3)|浏览(154)

我在杰森身上用过这个按钮。

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

当我在document. getElementById之后使用alert时,它会显示alert。但它在 AJAX 函数中不起作用。下面是我的连接函数

  1. function connect()
  2. {
  3. var BID = document.getElementById('BID').value;
  4. var REF = document.getElementById('ref_po').value;
  5. var POU = document.getElementById('po_units').value;
  6. //**alert(BID + REF + POU);**
  7. var url ='<?php echo base_url()."index.php/main/transacIn/" ?>';
  8. $.ajax({
  9. type: "POST",
  10. url: url,
  11. data: 'BID='+BID +'&REF='+REF +'&POU='+POU,
  12. success: function(data) {
  13. //$("#bid").hide();
  14. alert(BID);
  15. }
  16. });
  17. }

**警报(BID + REF + POU);**这个警报可以工作,但没有成功。而且它没有向控制器发送任何数据。请帮助我解决这个问题。提前感谢。

oiopk7p5

oiopk7p51#

试试这个

  1. function connect()
  2. {
  3. var BID = document.getElementById('BID').value;
  4. var REF = document.getElementById('ref_po').value;
  5. var POU = document.getElementById('po_units').value;
  6. var site_url = document.getElementById('site_url').value;
  7. var url = site_url+'main/transacIn';
  8. $.ajax({
  9. type: "POST",
  10. url: url,
  11. data: {
  12. BID : BID ,
  13. REF: REF,
  14. POU:POU
  15. },
  16. success: function(data) {
  17. //$("#bid").hide();
  18. alert(BID);
  19. },
  20. error: function(err) {
  21. console.log(err);
  22. }
  23. });
  24. }

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

展开查看全部
khbbv19g

khbbv19g2#

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

  1. <script type="text/javascript">
  2. // Your javascript function
  3. </script>

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

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

然后在 AJAX post上的javascript文件中,指向模板文件中定义的变量:

  1. $.ajax({
  2. type: "POST",
  3. url: url,
  4. data: 'BID='+BID +'&REF='+REF +'&POU='+POU,
  5. success: function(data) {
  6. //$("#bid").hide();
  7. alert(BID);
  8. }
  9. });

希望你明白。
无论如何,定义全局变量时要小心,使用名称空间来保护变量是一个很好的做法。

展开查看全部
qncylg1j

qncylg1j3#

试试这个解决方案。它会起作用的:

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

相关问题