Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

80
Views
La solicitud se anula con otros datos

Estoy tratando de obtener datos para autocompletar usando laravel.
Controlador:

 public function collection_search(Request $request) { $term = $request->search; $serveurapObj = new Serveurap(); $result = $serveurapObj->collectionAutocomplete(); return response()->json($result); }

Modelo:

 public function collectionAutocomplete($term) { $where= ['m.supprime'=>'0', 's.supprime'=>'0']; return DB::table('serveuraps AS s') ->select(DB::raw('s.nom as hostname')) ->join('machines AS m','m.id','=','s.machine_id') ->join('typeserveurs AS t','t.id','=','m.typeserveur_id') ->where($where) ->where('hostname','like','%'.$term.'%') ->get(); }

Vista:

 <div class="col-md-12"> <div class="form-group"> <label class="col-md-3 control-label">{!! __('script.serveur') !!}</label> <div class="col-md-4"> <input class="form-control" type="text" name="serveur" id="relance-serveur" role="textbox" aria-autocomplete="list" aria-haspopup="true"> </div> </div> </div>

Jquery/Ajax:

 $(document).ready(function () { // relance serveur autocomplete textbox $('#relance-serveur').autocomplete({ source: function (request, response) { alert(request.term) $.ajax({ url: '/scripts/relanceCollection/collection', dataType: 'json', data: { search: request.term }, success: function (data) { response(data); } }); }, }); });

Recibo un error al acceder a la search desde js en el controlador.

Error: ingrese la descripción de la imagen aquí

Imprimí $request pero mostró los datos json del modelo. ¿Cómo obtendría la search de js al controlador para poder buscar datos en función de ese término?

about 4 years ago · Juan Pablo Isaza
3 answers
Answer question

0

La clave que está enviando es search , no term . Cambie el código de su controlador para reflejar eso, o cambie los datos de ajax.

 $.ajax({ ... data: { → search: request.term }, ... });
 public function collection_search(Request $request) { $term = $request->search; ← ... }

 $.ajax({ ... data: { → term: request.term }, ... });
 public function collection_search(Request $request) { $term = $request->term; ← ... }
about 4 years ago · Juan Pablo Isaza Report

0

Has asignado un alias a la clase equivocada. No querrás una instancia de Facade, nunca. Si desea una instancia de algo, desea la instancia subyacente, no la fachada.

 use Illuminate\Http\Request;

Ahora, $request sería una instancia de esa clase y no de Facade, Illuminate\Support\Facades\Request .

about 4 years ago · Juan Pablo Isaza Report

0

Obtuve el resultado al agregar la función $.map en la función de éxito en JS. si alguien lo necesita, consulte el siguiente código js:

 $(document).ready(function () { var headers = { 'X-CSRF-TOKEN':'<meta name="csrf-token" content="{{ csrf_token() }}">' }; // relance serveur autocomplete textbox $('#relance-serveur').autocomplete({ source: function (request, response) { $.ajax({ url: '/scripts/relanceCollection/collection', data: { term: request.term }, headers: headers, dataType: 'json', success: function (data) { response($.map(data, function (item) { return { label: item.hostname, value: item.hostname }; })); } }); }, select: function (event, ui) { $('#relance-serveur').val(ui.item.label); // display the selected text return false; }, minLength: 1 }); });
about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!