【发布时间】:2018-01-25 12:20:56
【问题描述】:
我需要向php发送一个java脚本数组,这是我提出的想法,但它不起作用,如果你能帮助解决问题或找到另一种方法,我将不胜感激。
这个想法是再次重新加载整个页面。
我在通过 AJAX 向控制器发送 JSON 时遇到问题,JS 警报有效并且 JSON 显示给我,但控制器没有接收数据。
创建“actualizar”:
var actualizar = new Object();
function myButton_onclick(x,id) {
if(x.style.backgroundColor=='rgb(255, 114, 144)')
{
x.style.backgroundColor='rgb(90,237,247)';
actualizar[id]=1;
}else{
x.style.backgroundColor='rgb(255, 114, 144)';
actualizar[id]=0;
}
console.log(actualizar)
return false;
}
查看:
$id= array('id' => 'x' );
echo form_open("cursos/guardarmalla",$id);?>
<div align="center"><?php echo form_submit('','Guardar Malla',"class=\"btn btn-success btn-lg\"");?></div>
<?php echo form_close()?>
<script type="text/javascript">
$(document).ready(function(){
$('#x').submit(function(){
var aux = JSON.stringify(actualizar);
$.ajax({
type :'POST',
url: $(this).attr("action"),
dataType: "json",
data : aux
});
alert(aux);
})
})
</script>
控制器:
function guardarmalla(){
$datos= $this->input->post('aux');
$deco=json_decode($datos,true);
echo "Los datos recibidos son".$deco;
}
我很遗憾有西班牙语的变量。我来自智利,在西班牙语的 stackoverflow 中我没有答案
编辑
我认为问题是ajax不会导致驱动函数运行
编辑编辑
调查得出的结论是不需要 AJAX,因为我想再次重新加载整个页面,但我不知道如何发送数组或 JSON,它们是 PHP 的“提交”按钮
【问题讨论】:
-
actualizar的值是多少?显示 HTML 表单代码 -
它是一个关联数组。例如:Actualizar['INC100']=1,Actualizar['INC101']=0。该值将始终为 0 或 1
-
@franco.pina 你能检查一下控制器中的 $_POST 数组吗?如果数组为空,那么您的前端就会出现问题。
-
@Pasha 有效,数组为空。
标签: javascript php json ajax codeigniter