Ayuda en laravel 5 y ajax. Obtener un valor de la base de datos

publicado por: Anonymous

Quiero que en mi vista, al momento de seleccionar algo en mi dropdown, se ejecute un método que tengo en mi controlador, éste realiza otra función(query) en mi modelo, la cual saca un dato(int) de una tabla.
Me ocurre un error al debuggear con chrome, les dejo el link de la foto
Estoy usando ajax, en el que no soy muy experto por si es que me pueden echar una mano o decirme que estoy haciendo mal.
Otro dato mi dropdown esta dentro de un formulario, por lo que he visto algunos ejemplos con formulario con Post lo cual no me sirve, ya que lo que quiero hacer es por client-side. Ya que un usuario estará haciendo eso.

Función del modelo

Controlador y su función

Script

   $("#sociedad").change(function(){

      $.get("imp/"+event.target.value+"",function(response, sociedad){
          console.log(response);
      });
 });

Rutas

Route::resource('venta','VentasController'); 
Route::get('imp/{id}',  '[email protected]');

Vista y formulario

<div class="form-group">                                
{!!Form::select('msocod_id',['' => '- Seleccione una sociedad -'] +$soci,null, ['class' => 'form-control','id'=>'sociedad', 'name'=>'sociedad'])!!} 
</div>

Form

@extends('layouts.principal')
@section('content')

@include('alerts.request')
{!!Form::open(['route'=>'venta.store','method'=>'POST'])!!} 

@include('venta.forms.venta')

{!!Form::close()!!}
@section('script')
{!!Html::script('js/script.js')!!}
@stop
@stop

solución

La ruta que está usando la función get de jQuery es relativa, lo cual resulta en una ruta incorrecta (404), hay que agregar entonces un / al comienzo de la misma para hacer un referenciamiento absoluto, partiendo desde la raíz del dominio actual:

  $.get("/imp/"+event.target.value, function(response, sociedad) {
      console.log(response);
  });
Respondido por: Anonymous

Leave a Reply

Your email address will not be published. Required fields are marked *