Передать массив с помощью 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 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