繁体   English   中英

如何将多个PHP变量传递给ajax函数onclick

[英]How do I pass multiple PHP variables to ajax function onclick

我正在尝试使用ajax将数据发送到控制器中的函数之一,但底部(图像中)的错误不会让变量通过。

我正在使用codeigniter框架,而我认为此ajax函数。

$(document).ready(function(){

function myButton(id1, id2, id3){
    $.ajax({
      method: "POST",
      url: "<?php echo base_url() ?>controller/function/"+id1+"/"+di2+"/"+id3,
      data: {
        id1:id1,
        id2:id2,
        id3:id3
      }
      dataType : 'text',
      success:function(data){
        location.reload();
    });
}
}

<div align="center">
  <a>
    <button onclick="myButton('<?php echo $id1; ?>', '<?php echo $id2; ?>', '<?php echo $id3; ?>')">
      <img  src="<?php echo base_url();?>images/button.png" >
    </button>
  </a>
</div>

未捕获的ReferenceError:未定义myButton(…)

在此处输入图片说明

在$(document).ready()之外定义函数

当前,直到加载dom后才定义函数,这意味着在设置按钮时没有定义。

看起来应该像这样:

<script>
var myButton = function(id1, id2, id3){
                $.ajax({
                   method: "POST",
                  url: "<?php echo base_url(); ?>controller/function/"+id1+"/"+id2+"/"+id3,
                  data: {
                    id1:id1,
                    id2:id2,
                    id3:id3
                  },
                dataType : 'text',
                  success:function(data){
                    location.reload();
                }
            });
};

    $(document).ready(function(){
//This isn't really needed
});
</script>



<div align="center">
  <a>
    <button onclick="myButton('<?php echo $id1; ?>', '<?php echo $id2; ?>', '<?php echo $id3; ?>')">
      <img  src="<?php echo base_url();?>images/button.png" >
    </button>
  </a>
</div>

您在内部document.ready函数中声明myButton 您需要在全局范围内声明它。

<script>
// Define in global scope
function myButton(id1, id2, id3){
    $.ajax({
      method: "POST",
      url: "<?php echo base_url() ?>controller/function/"+id1+"/"+di2+"/"+id3,
      data: {
        id1:id1,
        id2:id2,
        id3:id3
      }
      dataType : 'text',
      success:function(data){
        location.reload();
    });
}
</script>

<div align="center">
  <a>
    <button onclick="myButton('<?php echo $id1; ?>', '<?php echo $id2; ?>', '<?php echo $id3; ?>')">
      <img  src="<?php echo base_url();?>images/button.png" >
    </button>
  </a>
</div>

答案可能是一个字符; 所以使用<?php echo base_url(); ?> <?php echo base_url(); ?>这将打印无效的Javascript,并且可能更多!

$(document).ready(function(){

function myButton(id1, id2, id3){
    $.ajax({
      method: "POST",
      url: "<?php echo base_url(); ?>controller/function/"+id1+"/"+di2+"/"+id3,
      data: {
        id1:id1,
        id2:id2,
        id3:id3
      }
      dataType : 'text',
      success:function(data){
        location.reload();
    });
}
}

<div align="center">
  <a>
    <button onclick="myButton('<?php echo $id1; ?>', '<?php echo $id2; ?>', '<?php echo $id3; ?>')">
      <img  src="<?php echo base_url();?>images/button.png" >
    </button>
  </a>
</div>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM