Hola a todos, quiero analizar la matriz al controlador Codeigniter, pero mi código no funciona, ¿pueden decirme dónde hay un error en este código? Soy nuevo en jQuery. Sé que es un error muy básico.

Código jQuery:

$("#add_state").click(function(){
      var addstate = {
        State: $.trim($('#statename').val()
      }
      $.ajax({
        type: "POST",
        url: "<?php echo base_url()?>/index.php/geo/add_state",
        data: addstate,
        success: function(response){
          alert(response);
        }
      });
    event.preventDefault();
});

Código HTML:

<form role="form">
   <div class="form-group">
      <label for="exampleInputEmail1">State Name</label>
      <input type="text" name="State" class="form-control" id="statename" placeholder="Enter State Name">
   </div>
   <button type="submit" class="btn btn-info" id="add_state">Submit</button>
</form>
0
Rushabh Shah 21 mar. 2017 a las 15:11

2 respuestas

La mejor respuesta

La moldura no está cerrada correctamente

Se supone que es asi

$("#add_state").click(function(){
      var addstate = {
        State: $.trim($('#statename').val())
      }
      $.ajax({
        type: "POST",
        url: "<?php echo base_url()?>/index.php/geo/add_state",
        data: addstate,
        success: function(response){
          alert(response);
        }
      });
    event.preventDefault();
});
3
Varun Malhotra 21 mar. 2017 a las 12:21
  1. Falta ) en State: $.trim($('#statename').val(). Cámbielo a State: $.trim($('#statename').val()).
  2. Utilice $(document).on('click', '#add_state', function() { en su lugar $("#add_state").click(function(){. Porque la primera solución funcionará, si agrega script antes de que se creara el elemento dom.
  3. Verifique la URL, tal vez sea incorrecta.
1
zen 21 mar. 2017 a las 12:27