Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/363.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何将多个PHP变量传递给ajax函数onclick_Javascript_Jquery_Html - Fatal编程技术网

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

Javascript 如何将多个PHP变量传递给ajax函数onclick,javascript,jquery,html,Javascript,Jquery,Html,我试图使用ajax将数据发送到控制器中的一个函数,但底部的错误(图中)不允许变量通过 我正在使用codeigniter框架,我认为这个ajax函数很有用 $(document).ready(function(){ function myButton(id1, id2, id3){ $.ajax({ method: "POST", url: "<?php echo base_url() ?>controller/function/"+id1+"/"+d

我试图使用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>
$(文档).ready(函数(){
功能myButton(id1、id2、id3){
$.ajax({
方法:“张贴”,
url:“控制器/函数/”+id1+“/”+di2+“/”+id3,
数据:{
id1:id1,
id2:id2,
id3:id3
}
数据类型:“文本”,
成功:功能(数据){
location.reload();
});
}
}

定义$(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>

var myButton=函数(id1、id2、id3){
$.ajax({
方法:“张贴”,
url:“控制器/函数/”+id1+“/”+id2+“/”+id3,
数据:{
id1:id1,
id2:id2,
id3:id3
},
数据类型:“文本”,
成功:功能(数据){
location.reload();
}
});
};
$(文档).ready(函数(){
//这真的不需要
});

在$(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>

var myButton=函数(id1、id2、id3){
$.ajax({
方法:“张贴”,
url:“控制器/函数/”+id1+“/”+id2+“/”+id3,
数据:{
id1:id1,
id2:id2,
id3:id3
},
数据类型:“文本”,
成功:功能(数据){
location.reload();
}
});
};
$(文档).ready(函数(){
//这真的不需要
});

您正在内部
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>

//在全局范围内定义
功能myButton(id1、id2、id3){
$.ajax({
方法:“张贴”,
url:“控制器/函数/”+id1+“/”+di2+“/”+id3,
数据:{
id1:id1,
id2:id2,
id3:id3
}
数据类型:“文本”,
成功:功能(数据){
location.reload();
});
}

您正在内部
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>

//在全局范围内定义
功能myButton(id1、id2、id3){
$.ajax({
方法:“张贴”,
url:“控制器/函数/”+id1+“/”+di2+“/”+id3,
数据:{
id1:id1,
id2:id2,
id3:id3
}
数据类型:“文本”,
成功:功能(数据){
location.reload();
});
}

答案可能是一个字符
,因此使用
这将打印无效的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>
$(文档).ready(函数(){
功能myButton(id1、id2、id3){
$.ajax({
方法:“张贴”,
url:“控制器/函数/”+id1+“/”+di2+“/”+id3,
数据:{
id1:id1,
id2:id2,
id3:id3
}
数据类型:“文本”,
成功:功能(数据){
location.reload();
});
}
}

答案可能是一个字符
,因此使用
这将打印无效的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>
$(文档).ready(函数(){
功能myButton(id1、id2、id3){
$.ajax({
方法:“张贴”,
url:“控制器/函数/”+id1+“/”+di2+“/”+id3,
数据:{
id1:id1,
id2:id2,
id3:id3
}
数据类型:“文本”,
成功:功能(数据){
location.reload();
});
}
}

确实不需要文档。完全准备好了。函数定义不需要在文档中。完全准备好了。函数定义不需要在文档中。echo应该以“;”结尾像这样
echo应该以“;”结尾像这样
我用一个应该工作。查看您的代码是否匹配直到无法工作。给我相同的错误
Uncaught ReferenceError:myButton未定义(…)
Ok,js中似乎仍然存在一些语法错误。我在这里修复了代码,并用一支笔演示了它是否正常工作。我用一个应该有效的示例更新了答案。查看您的代码是否匹配直到不起作用。给我相同的错误
Uncaught ReferenceError:myButton未定义(…)
Ok,看来js中仍然存在一些语法错误。我在这里修复了代码,并用笔演示了它是否正常工作。