Requested JSON parse failed

0

I am learning how to send and receive data in json format through ajax and jquery. Only that when sending and receiving them I always have parse error but I already tried to make many modifications and I still can not solve my problem, could you help me? I thank you in advance.

$(document).ready(function() {
  $('.dropdown-toggle').dropdown();

  $("#guarda_producto").click(function() {
    if ($("#nombre_producto").val() == "") {
      alert("Ingresa el nombre del producto por favor");
      $("#nombre_producto").focus();
      $("#nombre_producto").addClass("is-invalid");
      return false;
    } else if ($("#codigo_producto").val() == "") {
      alert("Ingresa el código del producto por favor");
      $("#codigo_producto").focus();
      $("#codigo_producto").addClass("is-invalid");
      return false;
    } else if ($("#clave_producto").val() == "") {
      alert("Ingresa la clave del producto por favor");
      $("#clave_producto").focus();
      $("#clave_producto").addClass("is-invalid");
      return false;
    } else if ($("#marca_producto").val() == "") {
      alert("Ingresa la marca del producto por favor");
      $("#marca_producto").focus();
      $("#marca_producto").addClass("is-invalid");
      return false;
    } else if ($("#precio_compra_producto").val() == "") {
      alert("Ingresa el precio de compra del producto por favor");
      $("#precio_compra_producto").focus();
      $("#precio_compra_producto").addClass("is-invalid");
      return false;
    } else if ($("#precio_venta_producto").val() == "") {
      alert("Ingresa el precio de venta del producto por favor");
      $("#precio_venta_producto").focus();
      $("#precio_venta_producto").addClass("is-invalid");
      return false;
    } else if ($("#utilidad_paquete").val() == "") {
      alert("Ingresa la utilidad del paquete por favor");
      $("#utilidad_paquete").focus();
      $("#utilidad_paquete").addClass("is-invalid");
      return false;
    } else if ($("#utilidad_pieza").val() == "") {
      alert("Ingresa la utilidad por pieza por favor");
      $("#utilidad_pieza").focus();
      $("#utilidad_pieza").addClass("is-invalid");
      return false;
    } else if ($("#cantidad_producto").val() == "") {
      alert("Ingresa la cantidad del producto por favor");
      $("#cantidad_producto").focus();
      $("#cantidad_producto").addClass("is-invalid");
      return false;
    } else if ($("#stock_minimo_producto").val() == "") {
      alert("Ingresa el stock mínimo del producto por favor");
      $("#stock_minimo_producto").focus();
      $("#stock_minimo_producto").addClass("is-invalid");
      return false;
    } else if ($("#stock_maximo_producto").val() == "") {
      alert("Ingresa el stock máximo del producto por favor");
      $("#stock_maximo_producto").focus();
      $("#stock_maximo_producto").addClass("is-invalid");
      return false;
    }

    var formulario = $("#alta_productos").serialize();
    $.ajax({
      async: true,
      url: '../ajax/alta_productos.php',
      type: 'POST',
      data: 'formulario=' + formulario,
      beforeSend: function() {
        alert()
      },
      error: function(jqXHR, textStatus, errorThrown) {
        if (jqXHR.status === 0) {

          alert('Not connect: Verify Network.');

        } else if (jqXHR.status == 404) {

          alert('Requested page not found [404]');

        } else if (jqXHR.status == 500) {

          alert('Internal Server Error [500].');

        } else if (textStatus === 'parsererror') {

          alert('Requested JSON parse failed.');

        } else if (textStatus === 'timeout') {

          alert('Time out error.');

        } else if (textStatus === 'abort') {

          alert('Ajax request aborted.');

        } else {

          alert('Uncaught Error: ' + jqXHR.responseText);

        }
      },
      success: function(msg) {
        //var retorno = jQuery.parseJSON(msg);
        if (msg.estatus == 1) {
          alert(msg.mensaje);
        } else {
          alert(msg.mensaje);
        }
      }
    }); //del ajax
    return false;
  });
});
<form name="alta_productos" id="alta_productos" method="post" action="">
  <div class="row">
    <div class="col">
      <div class="form-group">
        <label for="nombre_producto">Nombre:</label>
        <input type="text" class="form-control" name="nombre_producto" id="nombre_producto" placeholder="Dato requerido" />
      </div>
      <div class="form-group">
        <label for="codigo_producto">Código:</label>
        <input type="text" class="form-control" name="codigo_producto" id="codigo_producto" placeholder="Dato requerido" />
      </div>
      <div class="form-group">
        <label for="clave_producto">Clave:</label>
        <input type="text" class="form-control" name="clave_producto" id="clave_producto" placeholder="Dato requerido" />
      </div>
      <div class="form-group">
        <label for="marca_producto">Marca:</label>
        <input type="text" class="form-control" name="marca_producto" id="marca_producto" placeholder="Dato requerido" />
      </div>
      <div class="form-group">
        <label for="categoria_producto">Categoria:</label>
        <input type="text" class="form-control" name="categoria_producto" id="categoria_producto" />
      </div>
    </div>
    <div class="col">
      <div class="form-group">
        <label for="precio_compra_producto">Precio de compra:</label>
        <input type="text" class="form-control" name="precio_compra_producto" id="precio_compra_producto" placeholder="Dato requerido" />
      </div>
      <div class="form-group">
        <label for="precio_venta_producto">Precio de venta:</label>
        <input type="text" class="form-control" name="precio_venta_producto" id="precio_venta_producto" placeholder="Dato requerido" />
      </div>
      <div class="form-group">
        <label for="clave_producto">Precio por pieza:</label>
        <input type="text" class="form-control" name="precio_unidad_producto" id="precio_unidad_producto" />
      </div>
      <div class="form-group">
        <label for="utilidad_paquete">Utilidad por paquete:</label>
        <input type="text" class="form-control" name="utilidad_paquete" id="utilidad_paquete" placeholder="Dato requerido" />
      </div>
      <div class="form-group">
        <label for="utilidad_pieza">Utilidad por pieza:</label>
        <input type="text" class="form-control" name="utilidad_pieza" id="utilidad_pieza" placeholder="Dato requerido" />
      </div>
      <p class="text-center"><input type="button" name="guarda_producto" id="guarda_producto" class="btn btn-success" value="Guardar"></p>
    </div>
    <div class="col">
      <div class="form-group">
        <label for="cantidad_producto">Cantidad:</label>
        <input type="text" class="form-control" name="cantidad_producto" id="cantidad_producto" placeholder="Dato requerido" />
      </div>
      <div class="form-group">
        <label for="stock_minimo_producto">Stock mínimo:</label>
        <input type="text" class="form-control" name="stock_minimo_producto" id="stock_minimo_producto" placeholder="Dato requerido" />
      </div>
      <div class="form-group">
        <label for="stock_maximo_producto">Stock máximo:</label>
        <input type="text" class="form-control" name="stock_maximo_producto" id="stock_maximo_producto" placeholder="Dato requerido" />
      </div>
      <div class="form-group">
        <label for="descripcion_producto">Descripción:</label>
        <input type="text" class="form-control" name="descripcion_producto" id="descripcion_producto" />
      </div>
      <div class="form-group">
        <label for="imgen_producto">Imagen producto:</label>
        <input type="text" class="form-control" name="imgen_producto" id="imgen_producto" />
      </div>
    </div>
  </div>
</form>
<?php
header("Content-type: application/json; charset=utf-8");
require('/clases/consultas.php');

$db = new consultas();
$var = array();
extract($_POST);

if(isset($nombre_producto)){
    $var['estatus'] = 1;
    $var['mensaje'] = "Perfecto";
    echo json_encode($var);
    exit();
} else {
    $var['estatus'] = 0;
    $var['mensaje'] = "Error";
    echo json_encode($var);
    exit();
}
?>
    
asked by Frederick Lazarus 30.10.2018 в 01:19
source

0 answers