Передать массив с помощью AJAX jquery в PHP post
У меня есть следующее исправление, которое я хочу отправить ajax jquery по post в php codeigniter
Var array = [];
(2) [Object, Object]
0
:
Object
Codigo
:
"11111"
Descripción
:
"caja"
Eliminar
:
" Eliminar"
Precio
:
"$46"
__proto__
:
Object
1
:
Object
Codigo
:
"22222"
Descripción
:
"lapiz"
Eliminar
:
" Eliminar"
Precio
:
"$222"
__proto__
:
Object
length
:
$.ajax({
type: "POST",
url: "<?php print base_url();?>controlador/Guardar",
data: array,//no se como mandar la data a php
success: function(objView){
alert("volvio");
}
});
в какой форме я должен был бы получить его в php codeigniter ?
я пробовал этот код, но он возвращает мне массив null большое спасибо
public function Guardar(){
$data = json_decode(stripslashes($_POST['array']));
echo var_dump($data);
}
2
Author: Javier Antonio Aguayo Aguilar, 2017-05-10
2 answers
Это правильный способ отправить массив ajax
var array = [1,2,3,4]; //array que deseo enviar
$.ajax({
type: "POST",
url: ...,
data: {'array': JSON.stringify(array)},//capturo array
success: function(data){
}
});
Таким образом получает в бэкэнде php
$data = json_decode($_POST['array']);
var_dump($data);
9
Author: Javier Antonio Aguayo Aguilar, 2018-08-21 14:19:23
Это мой пример
[html]
<form>
<table>
<tr>
<td>
<input type="checkbox" class="estatusInput" name="estatusCandidato" value="entrevista_rrhh">
<label><span><span></span></span>Entrevista RRHH</label>
</td>
<td>
<input type="checkbox" class="estatusInput" name="estatusCandidato" value="examen_ortografia">
<label><span><span></span></span>Examen de ortografía</label>
</td>
</tr>
<tr>
<td>
<input type="checkbox" class="estatusInput" name="estatusCandidato" value="entrevista_area">
<label><span><span></span></span>Entrevista área</label>
</td>
<td>
<input type="checkbox" class="estatusInput" name="estatusCandidato" value="evaluaciones_tecnicas">
<label><span><span></span></span>Evaluaciones técnicas</label>
</td>
</tr>
<tr>
<td>
<input type="checkbox" class="estatusInput" name="estatusCandidato" value="entrevista_coach">
<label><span><span></span></span>Entrevista Coach</label>
</td>
<td>
<input type="checkbox" class="estatusInput" name="estatusCandidato" value="evaluacion_de_idioma">
<label><span><span></span></span>Evaluación de idioma</label>
</td>
</tr>
<tr>
<td>
<input type="checkbox" class="estatusInput" name="estatusCandidato" value="evaluatest">
<label><span><span></span></span>Evaluatest</label>
</td>
<td>
<input type="checkbox" class="estatusInput" name="estatusCandidato" value="en_proceso_de_oferta">
<label><span><span></span></span>En proceso de Oferta</label>
</td>
</tr>
<tr>
<td>
<input type="checkbox" class="estatusInput" name="estatusCandidato" value="solicitud_de_empleo">
<label><span><span></span></span>Solicitud de empleo</label>
</td>
<td>
<input type="checkbox" class="estatusInput" name="estatusCandidato" value="lista_de_documentos">
<label><span><span></span></span>Lista de documentos</label>
</td>
</tr>
</table>
<div class="right">
<a href="" class="button" id="estatusCandidatoSubmit">Actualizar estatus</a>
</div>
</form>
[jquery]
$('#estatusCandidatoSubmit').click(function(event) {
event.preventDefault();
var datos = {};
var campo ='';
$('.estatusInput').each(function(index){
campo = $(this).val();
if ($(this).is(':checked')) {
datos[campo] = 1;
}
else{
datos[campo] = 0;
}
});
var datosArray = datos;
datosArray = {'datos': datosArray};
var data = $.param(datosArray);
console.log(data);
$.ajax({
url: 'estatus.php',
type: 'post',
dataType: 'json',
data: data,
success: function(data) {
alert('success');
},
error: function(data) {
alert('error');
}
});
});
-1
Author: Ruben Martinez, 2018-01-13 10:58:52