Base fuerte de javascript sería buenísimo, especialmente con orientación a node. Estaré esperando esos vídeos y aún más si tomas una aplicación completa. Gracias por tus vídeos.
Raul son geniales los tutoriales, e aprendido demasiado. Tengo un error, todo corre a la perfección pero a la base de datos no me está llegando el texto que ingreso en el recuadro, pero si me crea el ID y los demás datos
Muchas gracias por los tutoriales por favor sigue difundiendo conocimientos. Una pregunta al ejecutar mi formulario pulsando el boton, todo funciona correctamente entra ajax y recoje la peticion pero si escribo el genero y le doy a enter me lanzan un error, creo que es debido a que el evento onclik del boton no es ejecutado y ajax no recoje la peticion. Como se soluciona esto ?? Muchas gracias
Que pasa si yo quiero consumir esta peticion desde otro proyecto externo, ya sea php nativo, android, c#, etc, como le hago para emular o ignorar el token que requiere la peticion?
Le faltó un botoncillo para cerrar el mensaje y limpiar el formulario después de haber recibido respuesta. Por lo demás, excelentemente explicado. Como siempre. Grandes tutoriales. :)
+Federico Pacheco Si claro, pienso que si fuese un curso de diseño de interfaces nos preocupariamos bastante en el diseño, en este curso nos enfocamos a la funcionalidad, saludos :D
Raul: Actulice el jquery y la respuesta del Ajax dice que es success. Pero ahi se queda, ya no se dirige al metodo store(Request $request) del generoController. Agregue las siguientes rutas: Route::get('genero/store', 'GeneroController@store'); Route::post('genero/store', 'GeneroController@store'); y sigue igual no se dirige al store. Que podría ser? Gracias y Saludos
Hola! Tengo el siguiente error al ingresar a /genero/create 1/1 FatalErrorException in ClassLoader.php line 347: Maximum function nesting level of '100' reached, aborting! Puedes ayudarme? :)
Saludos y buenos tutoriales. Tengo algunas dudas, es seguro usar ajax para este tipo movimientos en la base de datos? ya que alguien podria ver mis archivos de javascript en el navegador y ver las rutas que estoy utilizando, ademas que tan seguro es guardar el token en un hidden input? por que de la misma manera si alguien ve el codigo HTML de mi pagina podria ver este input oculto, su valor en el y crearse un ajax con estos valores y la ruta para atacarme. En mi caso hago algunas validaciones aparte en el controlador como por ejemplo ver si el usuario tiene sesion iniciada y le limito el numero de rows que puede insertar dependiendo del tipo de usuario pero no se si sea suficiente y de igual manera si no tuviera estas validaciones aparte en el controlador tengo esa duda sobre que tan seguro es. Estuve buscando informacion en internet antes de preguntarte pero encuentro muchas respuestas variadas las cuales no me convencen y queria saber tu opinion.
es importante lanzar la respuesta formateada a json para que en el cliente sea mas sencillo el manejo de los datos, no se si respondo tu pregunta, saludos
Hola raul, tengo una consulta... el uso del token: como puedo realizarlo para utilizarlo por medio de web-service, para una aplicacion android particularmente
+TheMoralish Ahi es distinto, creas el servicio, y la manera de como identificar tu aplicacion seria tal vez crear una tabla con un app_id y un token ya que con apps externas no es posible validar una sesion activa, el token lo tomarias como identificador del usuario en cada peticion y el app_id es un identificador de tu app
Buenas disculpa otra duda, si son varios atributos que le quiero colocar al genero para capturarlos y enviarlos a script.js declaro tantas variables como atributos tenga el genero?
+Raul Palacios Hermano disculpa pero yo tengo un arreglo definido de esta manera var dato={"nombre":$("#nombre").val(),"rif":$("#rif").val(),"correo":$("#correo").val(),"direccion":$("#direccion").val(), "password":$("#pass").val(),"passwordrepeat":$("#repass").val()}; y lo envío al $.ajax en la data de la siguiente manera data: {institucion:dato} pero no se guarda en la bdd y no entra a mi controlador
+Raul Palacios Hola, antes que nada gracias por tus videos, estoy creando un formulario con múltiples inputs, en mi js utilizo el metodo serialize(), para cachar todos los datos del form, y los envio, en mi contralodor deseo acceder a cada valor por individual pero no logro hacerlo, como podria acceder a cada dato en individual desde mi controlador?,
Hola. Primero, muchas gracias por compartir y ayudar, y segundo, tendras algo para angular, es decir, como hago peticions validando token desde angular.js.
hola raul muy buenos los tutos, te quería consultar en caso de mucho tráfico conviene ajax js? o eloquent?, también si me podes decir que conviene para subir.proyecto en laravel si hosting compartido o dedicado? muchas gracias
no entiendo tu pregunta mas bien seria PHP o Javascript para traer los datos, con Javascript lo que ganas es que tu sitio no se congele y pueda ser asincrono, en cuanto la manera de pasarlo a produccion yo siempre elijo el server dedicado pero siempre es cuestion de gustos, saludos
claroo como con ajax es asincrono y no recarga , que conviene en caso de mucho tráfico ? realizar peticiones con eloquent o ajax al servidor , Gracias por las respuestas y los tutos
eloquent es el ORM es la capa de acceso a datos entonces siempre utilizas eloquent Javascript solo sustituye PHP para hacer las consultas mas rapidas o mas transparentes
Hola de nuevo, tengo una pequeña duda, espero y la puedas aclarar Raul. estoy usando el comando php artisan make:model usuarios. y me crea ps el modelo usuarios, pero en migrations no me crea ningun archivo. y ps cuando pongo el comando migrate ps truena todo. es un problema de laravel o estare haciendo algo mal? Gracias por tu atención.
raul como estas, muchas gracias por el tutorial esta muy bueno. Te queria preguntar respecto a la llamada ajax. Cuando realizo la llamada puedo insertar el genero pero la funcion $.ajax me devuelve un error 200 leyendo un poco el status 200 es ok Pero me lo captura como error
que raro bro, ami me regresa el status:200 pero no me lo marca como error si no como que todo fue perfecto osea en verde, en alguna parte del ajax puede que tengas algun errorsito y eso sea lo que te este causando conflicto.
No logro comprender porque cuando en el script le pones la ruta a localhost:8000/genero te lleva hasta el controlador del genero y al metodo store, como sabe eso laravel?, ami no me funciona esto de la ruta me dice que no se encontro la url
laravel lo sabe por que utilizamos una ruta Rest y depende bastante por el verbo HTTP por la cual se invoca la accion por ejemplo para obtener los generos es la misma ruta pero con el verbo get, para crear post, etc
estou com o seguinte erro genero (failed) xhr jquery.min.js:4 0 B 2.00 s Estou usando o xampp, será que pode ser por isso? em headers Provisional headers are shown Access-Control-Request-Headers: accept, content-type, x-csrf-token Access-Control-Request-Method: POST Origin: localhost Referer: localhost/projetos/cinema/public/genero/create User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.157 Safari/537.36
Hola Raul Una pregunta... el evento ajax lo hace bien no hay error y en el Network devuelve afirmativo... pero en la DB el campo lo toma vacio. Me ayudaria con ese problema, porfa Gracias
Ya por fin di con el error.... Todo estaba bien.. las variables. los id.. todo Pero en en MODELO tenia el mismo nombre el nombre de la tabla y el nombre del campo, por eso no lo reconocía. Gracias, seguiré con el curso
Tenia el mismo problema que tu aunque mi tabla y mi campo no tenían el mismo nombre, solo cambie el nombre del campo y me guardo el dato que capturaba.
Buenas que tal? me podrias dar una ayuda? no se por que pero no me funciona intento por todos los medios y no logro hacer que funcione, no me sale el error que muestras en el video y de ahi no pasa... o sea le hago clic al boton y no pasa nada
Con Ajax Practicamente haces Magia, olle un detalle te despides muy seco, puedes decir que esten bien los espero en el proximo video hasta luego amigos, pero gracias a secas sabe se me hace muy rudo. Como decir ya lleguenle. ja ja ja Saludos y buen tutorial
Hola Raul Palacios, muy buenos tus tutos, tengo 2 dudas. La primera es que no entiendo bien para que sirve ese $secure = null y la segunda es porque en la variable route pones esta var route="localhost:8000/genero";, como hace para saber que debe ir a GeneroController al metodo store y no al index. Muchas Gracias
+Steven Morales Hola que bueno que te sean de ayuda, con respecto a tus dudas 1. No se en que parte del video aparece ese $secure podrias indicarmelo? 2. si te das cuenta la ruta para el index o create es la misma, simplemente especificas el recurso pero la diferencia es el verbo HTTP en el caso del index es el metodo GET con el cual obtenemos algo y en el de crear es mediante el metodo POST ya que enviamos elementos asi es como Laravel sabe a que metodo necesita ir en cuanto a la ruta tu puedes especificala solo como /genero y no habrá problema, saludos
+Raul Palacios, es bueno saberlo lo de las rutas muchas gracias, en cuanto a la otra pregunta del secure es en el minuto 4:59, la verdad no entiendo lo que hace si lo quito en mi local y lo pongo no veo diferencia. Muchas Gracias
Hola amigo, tengo una duda, si seguí todo el desarrollo del videotutorial, y capté todo lo que enseñaste, mi duda es que cuando le doy click al boton Registrar todo sale correcto tal y como mostraste en el video, pero si en cambio presiono la tecla "Enter" ,me sale el error : MethodNotAllowedHttpException in RouteCollection.php line 201: Gracias por tan buen material. Saludos.
Yo tube el mismo problema, me quebre la cabeza buscando el error y al final lo solucione cambiando la primera letra a mayusca del metodo all asi: Genre::create($request->All());
Amigo, me gustan mucho tus cursos, olle saliendo del tema, necesito hacer un modulo como reloj checador para lector de huella con php que me recomiendas hacer?
Que tal, buenas, estoy siguiendo tu tutorial pero tengo un problema que no encuentro el detalle haber si alguien me puede ayudar cuando abro genero/create me aparece esto: Trying to get property of non-object (View: C:\xampp\htdocs\laravel\blog esources\views\layouts\admin.blade.php) (View: C:\xampp\htdocs\laravel\blog esources\views\layouts\admin.blade.php) Estoy usando Laravel 5.2, ya he buscado estoy empezando a entrar con el mundo de Laravel pero no le encuentro el error espero me puedan ayudar, gracias.
gracias raul me paso exactamente el mismo problema se debe loguear y luego acceder al recurso /genero/create o desactivar la opcion Auth::user. Excelente curso Raul muchas gracias por compartir el conocimiento de una forma tan practica y bien explicado. Saludos desde colombia-cali
amigo gracias excelentes tutos. pero al mandar los datos del ajax no deberias mandarlos asi data:{'genre':dato} data:{genre:dato} aunque igual funciono, solo es para mantener claros los conceptos.
Cuando lleno el formulario y doy el clasico enter con el que muchos forms hacen el submit al llenar un campo, en esta ocasion me manda error de MethodNotAllowedHttpException in RouteCollection.php Pero cuando doy clic en el boton registra todo correctamente. ¿Que se puede hacer para solucionar ese problema si hace el submit con el Enter ? Tus tutoriales me han sido de gran ayuda y aprendiendo bastante. mucho mas claros que otros muchos tutoriales que intente para aprender laravel. Saludos!
+Rubén Vázquez Claro tu solucion seria desencadenar la accion con un evento que escuche el enter del teclado, en el video pues utilizamos el evento click, me da mucho gusto saber que te es de ayuda mi contenido, saludos :D
+Raul Palacios buenas noches excelente tu vídeo sigo el curso y esta muy bueno estoy aprendiendo mucho gracias , para el amigo Ruben Velasquez : también tuve ese problema y lo soluciones escuchando el evento keypress de la tecla enter en jquery y lanzar la misma acción que con el evento click, saludos
Claro que me gustaría, pero antes tengo pensado un curso de Javascript enfocado al Backend para aprender las bases en verdad de javascript aveces solo hay cursos de angular pero nunca nos proveen de una base fuerte de javascript
No claro y son excelentes tecnologias, claro dependiendo para lo que lo quieras utilizar, pero si comienzas con tecnologias como node que usan javascript a un nivel pro ("Claro si en verdad deseas aprenderlo bien") necesitas fundamentos muy fuertes de javascript al igual que angular aunque este ultimo es una tecnologia mas digerible, y lo que muchas veces nos pasa simplemente copias codigo, tal vez funcione pero al fin del dia no entendiste nada xD, sin en cambio si tienes los fundamentos sabras el por que y la curva de aprendizaje es mayor
Raul estoy en laravel 5.2 y al hacer la prueba del ajax resulta exitoso. pero al adicionar Genre::create($request->All()); sale el error 404 y 500 [Error] Failed to load resource: the server responded with a status of 404 (Not Found) (jquery.min.map, line 0) [Error] Failed to load resource: the server responded with a status of 500 (Internal Server Error) (genero, line 0) [Error] TypeError: undefined is not an object (evaluating 'msj.responseJSON.genre') Que estará mal? Agrdezco de antemano tu atención. Saludos
+Sergio Arroyo Revisa en la consola cual es la respuesta de la peticion, es obvio que es error en el back por parte de laravel pero en la consola sabremos de que se trata, saludos
Que tal Raul disculpa una pregunta en el ejemplo que muestras solo envía un dato del formulario, que tendría que hacer si en mi formulario envió varios datos como lo mando al la función js para enviarlo vía ajax lo intente de la siguiente manera pero creo que no es la correcta: $("#registro").click(function(){ var concept = $("#concept").val(); var amount = $("#amount").val(); var tenderNumber = $("#tenderNumber").val(); var route = "/contrato"; var token = $("#token").val(); $.ajax({ url: route, headers: {'X-CSRF-TOKEN': token}, type: 'POST', dataType: 'json', data:{concept: concept, amount: amount, tenderNumber: tenderNumber }, success:function(){ $("#msj-success").fadeIn(); }, error:function(msj){ $("#msj").html(msj.responseJSON.genre); $("#msj-error").fadeIn(); } }); });
+Heder Ithamar Romero Podrias utilizar las nuevas caracteristicas de Ecmascript6 tales como parametros Spread ó parametros Rest, te dejo los links de mis videos Parametros Spread: ruclips.net/video/Cem6iyhgfKA/видео.html Parametros Rest: ruclips.net/video/eqCJClvvV8c/видео.html
Buenas, todo en este video me funciono perfectamente. yo le agregue un GeneroRequest y le coloque unas validaciones de que el el genero no fuera vacio y que debe tener como minimo 5 caracteres y la esta aplicando perfectamente. mi duda es la siguiente como puedo recuperar los mensajes de error con ajax para mostrarselo al usuario, veo que me retorna esto: genre:["El campo genre es obligatorio."] 0:"El campo genre es obligatorio." pero no los he podido capturar, alguna idea de como?
Excelente, me ha funcionado bien pero tengo una duda, si quiero utilizar script individual,es decir, uno especifico para genero, otro para usuario, como puedo llamarlo desde la carpeta genero? si ahorita solo se hace desde public
creo que es importante que toda tu carpeta publica es visible para el proyecto, entonces no importa la estructura que logres crear mientras este dentro de public podras acceder mediante su url sin ningun problema, no se si resolvi tu duda? otra opcion es utilizar algo mas poderoso como Vue.js
Ah ok, pense que se podría hacer individual pero me diste una idea porque dentro de la carpeta js puedo crear subcarpeta como genero que contenga los script relacionado a ese módulo y sucesivamente. No he trabajado con Vue.js pero investigare a ver que es. Gracias
Hola disculpa tengo un controlador restfull y estoy tratando de utilizar la función store pero me arroja esto:Failed to load resource: the server responded with a status of 405 (Method Not Allowed) sabes a qué se debe?
Si es correcta,lo solucioné haciendo la petición del recurso así: url=peliculas, en vez de peliculas/store, no sé porqué toca trabajar las peticiones post así con el controlador restfull utilizando resource, si sabes te agradecería que me lo dieras a conocer.gracias por la atención.
Hola buenas tardes, disculpa una pregunta por que en la ruta que declaro en el javascript locahost:8000/genero no funciona como en el vídeo si no que tengo que poner la ruta 127.0.0.1:8000/genero así si funciona a que se debe
Hola muy valioso tu aporte, Estaba intentando esto en mi sistema pero con la difernecia de que no uso un form. Porque hago clic en un checkbox y llamo a un evento clic y alli invoco el ajax. El tema es que aun configurando el headers me sigue apareciendo la error de que no coincide el token... habra algo que revisar en particular?
+Raul Palacios del lado del html así: del lado del Ajax así: $('input[type="checkbox"]').click(function() { var idmodelo = $(this).attr('name'); if ( $( this ).prop( "checked" ) ){ var decision = 'ap'; }else{ var decision = 'ep'; } var token = $('#token').val(); $.ajax({ url: "/seguridad/grupos/permissions/check", headers: {'X-CSRF-TOKEN': token}, type: "POST", dataType: "json", data: { _token:token, accion: decision, id: idmodelo, grupo: {{ $group->id }} } }) }); Encontre agregar una exception de la ruta pero no es la idea :)
+Raul Palacios Disculpa lo puse mas legible asi // set up jQuery with the CSRF token, or else post routes will fail $.ajaxSetup({ headers: { 'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content') } }); $('input[type="checkbox"]').click(function(e) { var attr = e.currentTarget var grupo =attr.attributes['data-grupo'].value var modulo =attr.attributes['data-modulo'].value var atributo =attr.attributes['data-atributo'].value var token = $('#token').val(); if ( $( this ).prop( "checked" ) ){ var accion = 1; }else{ var accion = 0; } $.ajax({ url: "/seguridad/grupos/permissions/check", headers: {'X-CSRF-TOKEN': token}, type: "POST", dataType: "json", data: { accion: accion, grupo: grupo, modulo: modulo, atributo: atributo } }) }); en el controlador tengo: public function permissions_check(Request $request){ $idgroup = $request['grupo']; $idmodule = $request['modulo']; $campo = $request['atributo']; $accion = $request['accion']; $permissions = Permissions::where(['idgroup'=>$idgroup, 'idmodule'=>$idmodule])->count(); if($permissions==0){ $permission = new Permissions(); $permission->idgroup = $idgroup; $permission->idmodule = $idmodule; $permission->$campo = $accion; }else{ return response()->json(['Mensaje'=>$permissions]); } }
8 лет назад
Hola Raul, he podido verificar que hay dos elementos Hidden con el nombre "_token". El primero creo que lo genera el mismo framework y el segundo lo creas tú en este video.. ¿eso está bien? saludos.
Hola amigo!! molestando de nuevo... una preguntota!! Ojala me puedas orientar.. estoy haciendo una app que necesita guardar y validar AJAX... la vdd es que la petición de AJAX por parte de JQuery funciona a la perfección pero a la hora de probarlo en un iphone y en un ipad... no funciona... probé imprimir el error con una alerta y lo único que me arroja es un : Internal Server Error pero para nada que funciona la petición... nunca me había pasado pero la vdd es que como el cliente va a usar la app desde su ipad necesito solucionarlo y no tengo idea de que puede ser... quizá alguien con más experiencia como tu sepa donde esta el error o que es lo que pasa ahí... alguna idea? De antemano gracias!!! Saludos!!
hy Raul, I'm sorry i dont know what you speak so i want to ask you. To use the Ajax, why you save the data in the json database ? but i see, you save the data into mysql database. I'm disoriented hahaha. thanks before ...
+Pramita Firnanda I dont save data in json, Laravel receive the information into a package in format json, single send the information in format json and Laravel save the information normally
+Raul Palacios ok thanks Raul .. Sorry i want to ask again.. i was try but i don't have any response with the ajax, i cant call the route when i inspect manager with my chrome browser.
buenos dias excelentes tutoriales, si alguien me pudiera ayudar probe la petición ajax al momento de enviar el mensaje, mi problema es el siguiente no me marca error ni nada(sale 200 ok) pero al momento de enviar el mensaje me dice: {mensaje: [ ]} mensaje:[ ] probe con un valor y el resultado no es correcto, lo probe con uno de la tabla users no se si sera por eso o bien tengo mal escrita la url mi url es la siguiente: "localhost/articulos/public/usuario"; si alguien me pudiera ayudar me despido .
la verdad lo tuve que hacer otra forma sacandole el paquete html pero ahora que pienso igual se puede hacer hacer asi deberias ver como pasar los valores o bien puede ser cache del navegador limpialo y vas bien k error sale me despido
Al inspeccionar elemento y ver lo que pasa en Network nunca aparece genre y por tal razon nunca se modifican los datos en la base de datos , revise el codigo y lo copie de tu repositorio y nada, hay algo adicional que hacer en Chrome para que funcione ajax , json? gracias
+Raul Palacios ahora como hago por que cada vez que se crea un genero ese mensaje de que se ha creado se queda ahi, como hago para que ese mensaje haga un fade out o desaparezca, o como lo redirecciono de nuevo a /genero? o cual seria la solucion? gracias
+Raul Palacios quiero que desaparezca o lo redireccione a /genero, por que ese mensaje siempre va estar ahi despues de haber creado un genero y es molesto
Muy bueno pero alguien sabe solucionar este error? SQLSTATE[HY000]: General error: 1364 Field 'name' doesn't have a default value (SQL: insert into `messages` (`updated_at`, `created_at`) values (2017-01-05 04:59:44, 2017-01-05 04:59:44))
Hola brother Estoy probando en laravel 5.3, pero me sige apareciendo este error: MassAssignmentException in Model.php line 444: genre Buen video y ojala puedas ayudarme gracias
Hola, tengo una duda, cómo se podría ejecutar un método diferente al store desde Ajax? Por ejemplo indicarle al Ajax que quiero que ejecute el método show u otro que uno cree en el controlador?
+Raul Palacios Lo que estoy haciendo es que en el parámetro de la url coloco el método que quiero ejecutar, por ejemplo show y al ejecutar la función, se cancela el proceso dice que no existe y no entiendo por qué.
+Raul Palacios La ruta la pongo así: localhost:8000/users/1/show y al ejecutar la función con el ajax el proceso se cancela, pero si pongo la ruta directamente en la url del navegador me da de una, no sé que me hace falta.
no debes de agregar show simplemente localhost:8000/users/1 puedes revisar la documentacion laravel.com/docs/5.1/controllers#restful-resource-controllers a ti te servira la parte de path, saludos
+Raul Palacios, listo, ya resolví, gracias.. ahora me pasa lo suguiente... crea el usuario y lo guarda en la base de datos correctamente, pero en los parámetros del ajax, entra en error y no en success como deveria ser..
Buenas noches, he seguido paso a paso el tutorial pero me sale este error: ErrorException in 39dafb09da2a36a5f98d7b4d781e8d15 line 41: Trying to get property of non-object (View: C:\xampp\htdocs ombre_del_proyecto esources\views\layouts\admin.blade.php) (View: C:\xampp\htdocs ombre_del_proyecto esources\views\layouts\admin.blade.php)
Solo es cuestion de enfoque y en algunas ocasiones es mejor utilizar AJAX, con el puedes ejecutar tareas de manera Asyncrona, si en tu proyecto no mecesitas de esto no debes preocuparte, saludos
Raul, excelente tus tutoriales! Los estoy siguiendo paso a paso y estoy aprendiendo mucho, con expectativas para generar mi propia web con Laravel Actualmente tengo un error al enviar la peticion de Ajax, en la consola aparece un error 500 POST cinema.app/genero 500 (Internal Server Error) y no encuentro la solucion! Copié el codigo del repositorio del Github y tampoco anduvo.. Aclaro que estoy usando un servidor virtual no se si será por eso, algun tema de la URL que paso como parametro... Ademas en las opciones al abrir el error dice lo siguiente: k.cors.a.crossDomain.send @ jquery.min.js:4 n.extend.ajax @ jquery.min.js:4 (anonymous function) @ script.js:6 n.event.dispatch @ jquery.min.js:3 r.handle @ jquery.min.js:3 La verdad que normalmente contra este tipo de error, despues de renegar un poco, los soluciono pero esta vez me superó! Espero respuestas, si alguien tiene idea que anda pasando!! Saludos, y muchas gracias por estos excelentes tutoriales
+Agus Trombotto si seguramente es por que utilizas el servidor virtual, podria ser o es problema de los CORS, por seguridad los servidores se protejen contra peticiones AJAX que para ellos son desconocidas, si quieres saber un poco mas de los cors te invito a ver mi video de introduccion al taller de angular y laravel, saludos
Ya lo arreglé, lo que pasa es que primero lo hice todo sin ajax y lo comenté y ahí estaba en @content... se me duplicaba el formulario en la parte de abajo y no me di cuenta, por que estaba comentado y aún así lo reconocía. Gracias por tan buenos tutoriales ! Saludos desde Perú
Hi Raul, in my form i have many field. so how to code in the script? $("#createLoker").click(function(){ var datas = $("#judul","#namaPt","#deadline","#deskripsi","#profilePt").val(); $.ajax({ data:{judul,namaPt, deadline, deskripsi, profilePt:datas}; }) });
Gamesr Xurrasco Si claro ese error es referente al servidor puedes verificar tu error al dar click sobre la peticion que tiene el error y buscar la opción preview ahi puede saltar el error de laravel, saludos
No pero si te salta la petición es que la esta llevando a cabo, revisa que no tengas errores en Laravel, puedes probar ejecutar tu app con artisan y no con apache.
entra mediante el cmd a tu proyecto seria supongo cd C:/xampp/htdocs/laravel, algo asi y dentro del proyecto ejecutas php artisan serve y te ejecutara tu aplicacion en el puerto 8000 ahi te lo indicara la consola, saludos
A mi no me está creando ningún género y lo tengo igualito... Cuando le doy clic en Registrar me aparece así localhost/nombre-proyecto/public/genero/create#
jamas me sale la peticion de género en network, localhost/nombre-proyecto/public/genero/create# es normal no? porque es un link que no va a ninguna parte
Lo que entiendo es que el create.blade.php de la vista de usuario, no está leyendo bien el script Y la cosa es que tengo mi código exactamente como el del vídeo y no me funciona
Que lata doy tengo todo y no me aparece que haga petición cuando tengo hago clic, me manda el favicon.ico tengo el siguiente script que chece mil veces que estuviera bien enlazado $("#registro").click(function(){ var dato = $("#genre").val(); var route = "localhost:8000/genero"; var token = $("#token").val(); $.ajax({ url: route, headers: {'X-CSRF-TOKEN': token}, type: 'POST', dataType: 'json', data:{genre: dato}, }); }); y en controlador public function store(Request $request) { if($request->ajax()){ return response()->json([ "mensaje" => $request->all() ]); } } y en genero.blade.php @include('genero.form.genero') {!!link_to('#', $title='Registrar', $attributes = ['id'=>'registro', 'class'=>'btn btn-primary'])!!}
Raul Palacios [Wed Jul 29 11:11:27 2015] 127.0.0.1:52040 [200]: /favicon.ico ME APARECE ESO, comienzo a pensar que mi script esta mal aunque lo puse tal y como lo tienes
Si un script falla no tendra accion, aunque es extraño que en la consola del navegador no te indique algun fallo, vuelve a escribir tu script o copialo del repositorio, saludos.
Raul Palacios no mi hermano hice eso y sigue igual, saludos y gracias seguire intentandole, jeje si tienes alguna idea del porque me pasa te agredeceria un buen que comentaras, muy buenos videos
hola estoy usando windows con xampp y el puerto 80 para el servidor apache, puedes darme una ayuda de como se configura para que cargue el recurso del proyecto con solo poner localhost:80/genero en la barra de direccion del navegador normalmente en otros ejercicios pongo localhost/nombreProyecto y carga el proyecto; es primera vez que uso laravel y para que carge el proyecto del tutorial al que he llamado "laravel" tengo que poner en la url localhost/laravel/public o localhost/laravel/public/genero/create para el recurso crear genero, tal vez por eso tengo un error, en script.js he puesto asi: var route = "localhost:80/laravel/public/genero"; y no se puede registrar genero al momento de dar clic en registrar genero en la consola sale un error de acceso: "XMLHttpRequest cannot load localhost/laravel/public/genero. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'www.localhost' is therefore not allowed access." alguna idea de como solucionar eso amigo Raul?
Carl Castillo tu ruta seria esta: localhost/laravel/public/genero; te propongo que entres a tu proyecto y ejecutes el php artisan serve esto te ejecutara tu aplicacion en el puerto 8000, prueba tu peticion y si el error persiste entonces tienes errores en tu script, saludos :D
Raul Palacios gracias por tu respuesta, antes de ejecutar el comando "php artisan serve" pude observar que el error No 'Access-Control-Allow-Origin solo sucedia en el navegador chrome y en firefox con el mismo codigo al hacer click en registrar si guardaba el genero en la bd, luego en script.js al hacer el envio ajax probé con dataType: 'jsonp', (con "p" al final) y en chrome ya no salio el error y sí guardo el genero en la bd. crees que haya algun problema si dejo el codigo con dataType: 'jsonp' ? aun quiero tener de reserva lo del comando artisan serve por si surge luego el mismo problema. nota: revisando bien el codigo en el archivo genero/create.blade.php habia un error de sintaxis faltaba el signo igual en name="_token" ahora regrese al codigo original del tutorial y ya funciona bien en chrome y en firefox, pero si lo dejaba con dataType: 'jsonp' funciona igual? googleando vi que significa json con padding
Mi coco era implementar Ajax sobre laravel y aqui lo solucioné, mil gracias excelente explicación.
Base fuerte de javascript sería buenísimo, especialmente con orientación a node. Estaré esperando esos vídeos y aún más si tomas una aplicación completa.
Gracias por tus vídeos.
Gracias amigo, me por fin me hiciste entender ajax.
¡Muchas gracias! Me has salvado con el tema del token!
Muchísimas Gracias +Raul Palacios, 8 posts en internet y al final un video que funciona :D
xD, no hay de que, saludos
christian gamboa, Claro que si en estos dias ya comenzaremos con ese nuevo curso, Saludos :D
Muy buenos videos Raul, Bendiciones
+Luis Arrieta Muchas gracias, igualmente
Hola Raul, muy buenos tus videos. muchas gracias. (y)
+Onix Games No hay de que amigo, saludos :D
Muchas gracias :)
Don't know Spanish but still helped me posting with ajax. Gracias :)
Excelent!! xD and your welcome, greetings from México
Buen video...paso al que sigue!
saludos
+lupitayoh Excelente, ya puedes encontrar el repositorio en todo correspondiente al video tutorial, saludos :D
Thanks
que grande eres hermano
+santiago martinezr que gusto que te agraden los videos, saludos :D
Raul son geniales los tutoriales, e aprendido demasiado.
Tengo un error, todo corre a la perfección pero a la base de datos no me está llegando el texto que ingreso en el recuadro, pero si me crea el ID y los demás datos
tengo una pequeña duda, si el archivo js desde el cual se ejecuta ajax esta en la carpeta public eso no seria inseguro. Hay forma de tratar con eso.
Hermoso.
que bueno que te guste, saludos
Hola, te quería preguntar por el tema de concurrencia de datos o bloqueos con laravel, como se implementan, gracias.
Muchas gracias por los tutoriales por favor sigue difundiendo conocimientos. Una pregunta al ejecutar mi formulario pulsando el boton, todo funciona correctamente entra ajax y recoje la peticion pero si escribo el genero y le doy a enter me lanzan un error, creo que es debido a que el evento onclik del boton no es ejecutado y ajax no recoje la peticion. Como se soluciona esto ?? Muchas gracias
Tengo una duda.. Cuando obtengo los valores de la peticion en mi controlador como puedo hacer para sacar los datos por separado.
Que pasa si yo quiero consumir esta peticion desde otro proyecto externo, ya sea php nativo, android, c#, etc, como le hago para emular o ignorar el token que requiere la peticion?
Algun consejo para implementar Ajax con Datatables y modals?
Le faltó un botoncillo para cerrar el mensaje y limpiar el formulario después de haber recibido respuesta. Por lo demás, excelentemente explicado. Como siempre. Grandes tutoriales. :)
+Federico Pacheco Si claro, pienso que si fuese un curso de diseño de interfaces nos preocupariamos bastante en el diseño, en este curso nos enfocamos a la funcionalidad, saludos :D
+Federico Pacheco Solo agregas esta línea y listo..
×
thanks!
Fernando Camilo No hay por que, Saludos :D
Hy Raul, How about upload image and save the path with ajax? I know you have give the tutorial about it, but without ajax. please explain to us ....
Raul: Actulice el jquery y la respuesta del Ajax dice que es success. Pero ahi se queda, ya no se dirige al metodo store(Request $request) del generoController.
Agregue las siguientes rutas:
Route::get('genero/store', 'GeneroController@store');
Route::post('genero/store', 'GeneroController@store');
y sigue igual no se dirige al store.
Que podría ser?
Gracias y Saludos
Hola! Tengo el siguiente error al ingresar a /genero/create
1/1
FatalErrorException in
ClassLoader.php line 347:
Maximum function nesting level of '100' reached, aborting!
Puedes ayudarme? :)
tengo un problema con el git cuadno clono el proyecto no me descarga la carpeta del proyecto LARAVEL
+Hernny Malaver que bien que te sea de ayuda amigo, saludos
Saludos y buenos tutoriales.
Tengo algunas dudas, es seguro usar ajax para este tipo movimientos en la base de datos? ya que alguien podria ver mis archivos de javascript en el navegador y ver las rutas que estoy utilizando, ademas que tan seguro es guardar el token en un hidden input? por que de la misma manera si alguien ve el codigo HTML de mi pagina podria ver este input oculto, su valor en el y crearse un ajax con estos valores y la ruta para atacarme.
En mi caso hago algunas validaciones aparte en el controlador como por ejemplo ver si el usuario tiene sesion iniciada y le limito el numero de rows que puede insertar dependiendo del tipo de usuario pero no se si sea suficiente y de igual manera si no tuviera estas validaciones aparte en el controlador tengo esa duda sobre que tan seguro es.
Estuve buscando informacion en internet antes de preguntarte pero encuentro muchas respuestas variadas las cuales no me convencen y queria saber tu opinion.
para agregar aparte de genero otra divicion como lenguaje tendria q crear otro id token con un nombre distinto?
No si los vas a enviar en conjunto no haría falta, saludos
Porque ea importante mostrar el dato ala vista json? Me refieron en el controlador espero tu respuesta gracias!!!
es importante lanzar la respuesta formateada a json para que en el cliente sea mas sencillo el manejo de los datos, no se si respondo tu pregunta, saludos
que theme o color scheme utilizas? gracias por los vídeos.
En ese video tiene configurado el monokai, saludos
Hola raul, tengo una consulta... el uso del token: como puedo realizarlo para utilizarlo por medio de web-service, para una aplicacion android particularmente
+TheMoralish Ahi es distinto, creas el servicio, y la manera de como identificar tu aplicacion seria tal vez crear una tabla con un app_id y un token ya que con apps externas no es posible validar una sesion activa, el token lo tomarias como identificador del usuario en cada peticion y el app_id es un identificador de tu app
Buenas disculpa otra duda, si son varios atributos que le quiero colocar al genero para capturarlos y enviarlos a script.js declaro tantas variables como atributos tenga el genero?
+Osman Villegas Podrias crear un objeto en json como var GenreObject = { name: "name", other: "other"}
+Raul Palacios Hermano disculpa pero yo tengo un arreglo definido de esta manera
var dato={"nombre":$("#nombre").val(),"rif":$("#rif").val(),"correo":$("#correo").val(),"direccion":$("#direccion").val(),
"password":$("#pass").val(),"passwordrepeat":$("#repass").val()};
y lo envío al $.ajax en la data de la siguiente manera data: {institucion:dato} pero no se guarda en la bdd y no entra a mi controlador
+Raul Palacios Hola, antes que nada gracias por tus videos, estoy creando un formulario con múltiples inputs, en mi js utilizo el metodo serialize(), para cachar todos los datos del form, y los envio, en mi contralodor deseo acceder a cada valor por individual pero no logro hacerlo, como podria acceder a cada dato en individual desde mi controlador?,
lo primero que se me ocurre de manera muy burda seria recorrer todo el request en un for, saludos
Hola. Primero, muchas gracias por compartir y ayudar, y segundo, tendras algo para angular, es decir, como hago peticions validando token desde angular.js.
Claro tengo un taller en mi canal donde utilizo Angular y Laravel pero no implemento autenticacion por token, saludos
hola raul muy buenos los tutos, te quería consultar en caso de mucho tráfico conviene ajax js? o eloquent?, también si me podes decir que conviene para subir.proyecto en laravel si hosting compartido o dedicado? muchas gracias
no entiendo tu pregunta mas bien seria PHP o Javascript para traer los datos, con Javascript lo que ganas es que tu sitio no se congele y pueda ser asincrono, en cuanto la manera de pasarlo a produccion yo siempre elijo el server dedicado pero siempre es cuestion de gustos, saludos
claroo como con ajax es asincrono y no recarga , que conviene en caso de mucho tráfico ? realizar peticiones con eloquent o ajax al servidor , Gracias por las respuestas y los tutos
eloquent es el ORM es la capa de acceso a datos entonces siempre utilizas eloquent Javascript solo sustituye PHP para hacer las consultas mas rapidas o mas transparentes
Hola de nuevo, tengo una pequeña duda, espero y la puedas aclarar Raul.
estoy usando el comando php artisan make:model usuarios. y me crea ps el modelo usuarios, pero en migrations no me crea ningun archivo. y ps cuando pongo el comando migrate ps truena todo. es un problema de laravel o estare haciendo algo mal?
Gracias por tu atención.
problema resuelto, gracias :D
+Aldo Carrillo si claro solo era el agregar el -m al php artisan make:model modelo -m , saludos
raul como estas, muchas gracias por el tutorial esta muy bueno.
Te queria preguntar respecto a la llamada ajax.
Cuando realizo la llamada puedo insertar el genero pero la funcion $.ajax me devuelve un error 200
leyendo un poco el status 200 es ok
Pero me lo captura como error
que raro bro, ami me regresa el status:200 pero no me lo marca como error si no como que todo fue perfecto osea en verde, en alguna parte del ajax puede que tengas algun errorsito y eso sea lo que te este causando conflicto.
No logro comprender porque cuando en el script le pones la ruta a localhost:8000/genero te lleva hasta el controlador del genero y al metodo store, como sabe eso laravel?, ami no me funciona esto de la ruta me dice que no se encontro la url
laravel lo sabe por que utilizamos una ruta Rest y depende bastante por el verbo HTTP por la cual se invoca la accion por ejemplo para obtener los generos es la misma ruta pero con el verbo get, para crear post, etc
quiero ingresar varios campos en todo los campos en necesario por el id y con el nombre del campo o solo al primero
+Terry quispe javier No se si te refieras a esto, pero con el id nosotro podemos hacer referencia a un input para obtener sus datos, saludos
estou com o seguinte erro
genero (failed) xhr jquery.min.js:4 0 B 2.00 s
Estou usando o xampp, será que pode ser por isso?
em headers
Provisional headers are shown
Access-Control-Request-Headers:
accept, content-type, x-csrf-token
Access-Control-Request-Method:
POST
Origin:
localhost
Referer:
localhost/projetos/cinema/public/genero/create
User-Agent:
Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.157 Safari/537.36
Hola Raul
Una pregunta...
el evento ajax lo hace bien no hay error y en el Network devuelve afirmativo...
pero en la DB el campo lo toma vacio. Me ayudaria con ese problema, porfa
Gracias
Ya por fin di con el error....
Todo estaba bien.. las variables. los id.. todo
Pero en en MODELO tenia el mismo nombre el nombre de la tabla y el nombre del campo, por eso no lo reconocía.
Gracias, seguiré con el curso
Tenia el mismo problema que tu aunque mi tabla y mi campo no tenían el mismo nombre, solo cambie el nombre del campo y me guardo el dato que capturaba.
Buenas que tal? me podrias dar una ayuda? no se por que pero no me funciona intento por todos los medios y no logro hacer que funcione, no me sale el error que muestras en el video y de ahi no pasa... o sea le hago clic al boton y no pasa nada
eso debe ser por algun error de sintaxis en tu codigo, podrias compararlo con el del repositorio, la consola del browser no lanza nada?
Con Ajax Practicamente haces Magia, olle un detalle te despides muy seco, puedes decir que esten bien los espero en el proximo video hasta luego amigos, pero gracias a secas sabe se me hace muy rudo. Como decir ya lleguenle. ja ja ja
Saludos y buen tutorial
jajajaja!! sk trato que sea serio xD pero voy a tomarlo en cuenta, saludos :D
Hola Raul Palacios, muy buenos tus tutos, tengo 2 dudas. La primera es que no entiendo bien para que sirve ese $secure = null y la segunda es porque en la variable route pones esta var route="localhost:8000/genero";, como hace para saber que debe ir a GeneroController al metodo store y no al index.
Muchas Gracias
+Steven Morales Hola que bueno que te sean de ayuda, con respecto a tus dudas 1. No se en que parte del video aparece ese $secure podrias indicarmelo? 2. si te das cuenta la ruta para el index o create es la misma, simplemente especificas el recurso pero la diferencia es el verbo HTTP en el caso del index es el metodo GET con el cual obtenemos algo y en el de crear es mediante el metodo POST ya que enviamos elementos asi es como Laravel sabe a que metodo necesita ir en cuanto a la ruta tu puedes especificala solo como /genero y no habrá problema, saludos
+Raul Palacios, es bueno saberlo lo de las rutas muchas gracias, en cuanto a la otra pregunta del secure es en el minuto 4:59, la verdad no entiendo lo que hace si lo quito en mi local y lo pongo no veo diferencia. Muchas Gracias
Hola amigo, tengo una duda, si seguí todo el desarrollo del videotutorial, y capté todo lo que enseñaste, mi duda es que cuando le doy click al boton Registrar todo sale correcto tal y como mostraste en el video, pero si en cambio presiono la tecla "Enter" ,me sale el error :
MethodNotAllowedHttpException in RouteCollection.php line 201:
Gracias por tan buen material. Saludos.
+Julio Edgar Mejia Rojas Ok tal vez puede ser que no cacha el evento click que es lo que desencadena todo el proceso, saludos
Yo tube el mismo problema, me quebre la cabeza buscando el error y al final lo solucione cambiando la primera letra a mayusca del metodo all asi:
Genre::create($request->All());
Amigo, me gustan mucho tus cursos, olle saliendo del tema, necesito hacer un modulo como reloj checador para lector de huella con php que me recomiendas hacer?
Hijole con php crudo desconozco como hacerlo amigo, no se que tan conveniente sea php optaría mas por c# si se ejecutara en windows, saludos
Necesito que viaje esto a travez de la red, para poder hacer llegar la checada a un servidor en la nube..
Pues podrias crear super rapido un servicio con .Net, pero bueno siguiendo con tus necesidades nunca e echo eso con php, saludos y suerte
muy buen video, pero sale el signo # en la direccion url. Digo eso ya que en tu ejemplo solo sale "genero/create".
Saludos
Debes tener algun error en tu script lanza algun error el browser?
Que tal, buenas, estoy siguiendo tu tutorial pero tengo un problema que no encuentro el detalle haber si alguien me puede ayudar cuando abro genero/create me aparece esto:
Trying to get property of non-object (View: C:\xampp\htdocs\laravel\blog
esources\views\layouts\admin.blade.php) (View: C:\xampp\htdocs\laravel\blog
esources\views\layouts\admin.blade.php)
Estoy usando Laravel 5.2, ya he buscado estoy empezando a entrar con el mundo de Laravel pero no le encuentro el error espero me puedan ayudar, gracias.
es por que no has iniciado sesion y tienes componentes como Auth::user()->name, saludos
gracias raul me paso exactamente el mismo problema se debe loguear y luego acceder al recurso /genero/create o desactivar la opcion Auth::user. Excelente curso Raul muchas gracias por compartir el conocimiento de una forma tan practica y bien explicado. Saludos desde colombia-cali
ola raul y si quiero ingresar varios campos como nombre apellido cedula entre otros le asigno un id a cada uno y luego lo llamo al data solamente
+guillermo elias romo noriega si los envias mediante tu data, y listo :D
amigo gracias excelentes tutos.
pero al mandar los datos del ajax no deberias mandarlos asi
data:{'genre':dato}
data:{genre:dato}
aunque igual funciono, solo es para mantener claros los conceptos.
Cuando lleno el formulario y doy el clasico enter con el que muchos forms hacen el submit al llenar un campo, en esta ocasion me manda error de MethodNotAllowedHttpException in RouteCollection.php
Pero cuando doy clic en el boton registra todo correctamente.
¿Que se puede hacer para solucionar ese problema si hace el submit con el Enter ?
Tus tutoriales me han sido de gran ayuda y aprendiendo bastante. mucho mas claros que otros muchos tutoriales que intente para aprender laravel.
Saludos!
+Rubén Vázquez Claro tu solucion seria desencadenar la accion con un evento que escuche el enter del teclado, en el video pues utilizamos el evento click, me da mucho gusto saber que te es de ayuda mi contenido, saludos :D
+Raul Palacios buenas noches excelente tu vídeo sigo el curso y esta muy bueno estoy aprendiendo mucho gracias , para el amigo Ruben Velasquez : también tuve ese problema y lo soluciones escuchando el evento keypress de la tecla enter en jquery y lanzar la misma acción que con el evento click, saludos
hola Raul Palacios
estoy haciendo el tutorial pero no me crea las géneros con el ajax no me retorna error ni crea en la base de datos
agrega el script al layout principal
gracias, quiero probar después si puedo combinar esto con angularjs con eso de api rest
espiritullama Claro que se puede, incluso tenia pensado realizar un pequeño taller haciendo un CRUD en conjunto con Angular.js , Saludos :D
siguiente curso angular js jeje
Claro que me gustaría, pero antes tengo pensado un curso de Javascript enfocado al Backend para aprender las bases en verdad de javascript aveces solo hay cursos de angular pero nunca nos proveen de una base fuerte de javascript
yo estaba aprendiendo node y laravel, también angular. jeje
No claro y son excelentes tecnologias, claro dependiendo para lo que lo quieras utilizar, pero si comienzas con tecnologias como node que usan javascript a un nivel pro ("Claro si en verdad deseas aprenderlo bien") necesitas fundamentos muy fuertes de javascript al igual que angular aunque este ultimo es una tecnologia mas digerible, y lo que muchas veces nos pasa simplemente copias codigo, tal vez funcione pero al fin del dia no entendiste nada xD, sin en cambio si tienes los fundamentos sabras el por que y la curva de aprendizaje es mayor
Raul estoy en laravel 5.2 y al hacer la prueba del ajax resulta exitoso. pero al adicionar Genre::create($request->All()); sale el error 404 y 500
[Error] Failed to load resource: the server responded with a status of 404 (Not Found) (jquery.min.map, line 0)
[Error] Failed to load resource: the server responded with a status of 500 (Internal Server Error) (genero, line 0)
[Error] TypeError: undefined is not an object (evaluating 'msj.responseJSON.genre')
Que estará mal?
Agrdezco de antemano tu atención. Saludos
+Sergio Arroyo Revisa en la consola cual es la respuesta de la peticion, es obvio que es error en el back por parte de laravel pero en la consola sabremos de que se trata, saludos
Que tal Raul disculpa una pregunta en el ejemplo que muestras solo envía un dato del formulario, que tendría que hacer si en mi formulario envió varios datos como lo mando al la función js para enviarlo vía ajax lo intente de la siguiente manera pero creo que no es la correcta:
$("#registro").click(function(){
var concept = $("#concept").val();
var amount = $("#amount").val();
var tenderNumber = $("#tenderNumber").val();
var route = "/contrato";
var token = $("#token").val();
$.ajax({
url: route,
headers: {'X-CSRF-TOKEN': token},
type: 'POST',
dataType: 'json',
data:{concept: concept,
amount: amount,
tenderNumber: tenderNumber },
success:function(){
$("#msj-success").fadeIn();
},
error:function(msj){
$("#msj").html(msj.responseJSON.genre);
$("#msj-error").fadeIn();
}
});
});
+Heder Ithamar Romero Podrias utilizar las nuevas caracteristicas de Ecmascript6 tales como parametros Spread ó parametros Rest, te dejo los links de mis videos Parametros Spread: ruclips.net/video/Cem6iyhgfKA/видео.html Parametros Rest: ruclips.net/video/eqCJClvvV8c/видео.html
Buenas, todo en este video me funciono perfectamente. yo le agregue un GeneroRequest y le coloque unas validaciones de que el el genero no fuera vacio y que debe tener como minimo 5 caracteres y la esta aplicando perfectamente. mi duda es la siguiente como puedo recuperar los mensajes de error con ajax para mostrarselo al usuario, veo que me retorna esto:
genre:["El campo genre es obligatorio."]
0:"El campo genre es obligatorio."
pero no los he podido capturar, alguna idea de como?
provisionalmente lo he valido es con javascript antes de enviar la petición hasta ver si encuentro como hacerlo
Excelente, me ha funcionado bien pero tengo una duda, si quiero utilizar script individual,es decir, uno especifico para genero, otro para usuario, como puedo llamarlo desde la carpeta genero? si ahorita solo se hace desde public
creo que es importante que toda tu carpeta publica es visible para el proyecto, entonces no importa la estructura que logres crear mientras este dentro de public podras acceder mediante su url sin ningun problema, no se si resolvi tu duda? otra opcion es utilizar algo mas poderoso como Vue.js
Ah ok, pense que se podría hacer individual pero me diste una idea porque dentro de la carpeta js puedo crear subcarpeta como genero que contenga los script relacionado a ese módulo y sucesivamente.
No he trabajado con Vue.js pero investigare a ver que es. Gracias
Correcto! es a lo que me referia, saludos
Si apuntas a: 'localhost:8000/genero' como sabes que ira al metodo store?
Eso mismo me pregunto yo. Alguien lo sabe?
y para crear que cada usuario que se registre y cree un comentario de cada peli?
Pues podrías crear la tabla comentarios, y el usuario tendría relación con esta, saludos
Hola disculpa tengo un controlador restfull y estoy tratando de utilizar la función store pero me arroja esto:Failed to load resource: the server responded with a status of 405 (Method Not Allowed) sabes a qué se debe?
+Easylisimo es raro, tu ruta es correcta?
Si es correcta,lo solucioné haciendo la petición del recurso así: url=peliculas, en vez de peliculas/store, no sé porqué toca trabajar las peticiones post así con el controlador restfull utilizando resource, si sabes te agradecería que me lo dieras a conocer.gracias por la atención.
Hola buenas tardes, disculpa una pregunta por que en la ruta que declaro en el javascript locahost:8000/genero no funciona como en el vídeo si no que tengo que poner la ruta 127.0.0.1:8000/genero así si funciona a que se debe
Es un tanto extraño por que localhost:8000 y 127.0.0.1:8000 es lo mismo! te envia algun error?
No me envia ningun error solo que no realiza la accion en el controlador o no llega la peticion ajax no entiendo por que
Muchas gracias por todo esto Raul, una pregunta, como hago para que el formulario se vacíe después de dar click en Registrar?
solo setearlo en vacio algo asi $('#genre').val(''");
Pero en que parte del script? Por que he probado en varias partes y no encuentro, perdon la ignoracia
dentro del success :)
Gracias por tu ayuda Raul, deberías de colocar si tenes paypal para regalarte un cafe por toda esta ayuda
Hombre muchas gracias! jajaja en cuanto pueda lo agrego al canal y nos lo tomamos, saludos!!
Hola muy valioso tu aporte,
Estaba intentando esto en mi sistema pero con la difernecia de que no uso un form. Porque hago clic en un checkbox y llamo a un evento clic y alli invoco el ajax. El tema es que aun configurando el headers me sigue apareciendo la error de que no coincide el token... habra algo que revisar en particular?
+Julio Quintana como estas incorporando el token?
+Raul Palacios del lado del html así:
del lado del Ajax así:
$('input[type="checkbox"]').click(function() {
var idmodelo = $(this).attr('name');
if ( $( this ).prop( "checked" ) ){
var decision = 'ap';
}else{
var decision = 'ep';
}
var token = $('#token').val();
$.ajax({
url: "/seguridad/grupos/permissions/check",
headers: {'X-CSRF-TOKEN': token},
type: "POST",
dataType: "json",
data: {
_token:token,
accion: decision,
id: idmodelo,
grupo: {{ $group->id }}
}
})
});
Encontre agregar una exception de la ruta pero no es la idea :)
aqui esta como se incorpora el token, laravel.com/docs/5.1/routing#csrf-x-xsrf-token supongo que el error es el
ha o para que envias el _token dentro de la data?, si supongo que es eso, muestrame tu codigo del controlador donde llega la peticion, saludos
+Raul Palacios Disculpa lo puse mas legible asi
// set up jQuery with the CSRF token, or else post routes will fail
$.ajaxSetup({ headers: { 'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content') } });
$('input[type="checkbox"]').click(function(e) {
var attr = e.currentTarget
var grupo =attr.attributes['data-grupo'].value
var modulo =attr.attributes['data-modulo'].value
var atributo =attr.attributes['data-atributo'].value
var token = $('#token').val();
if ( $( this ).prop( "checked" ) ){
var accion = 1;
}else{
var accion = 0;
}
$.ajax({
url: "/seguridad/grupos/permissions/check",
headers: {'X-CSRF-TOKEN': token},
type: "POST",
dataType: "json",
data: {
accion: accion,
grupo: grupo,
modulo: modulo,
atributo: atributo
}
})
});
en el controlador tengo:
public function permissions_check(Request $request){
$idgroup = $request['grupo'];
$idmodule = $request['modulo'];
$campo = $request['atributo'];
$accion = $request['accion'];
$permissions = Permissions::where(['idgroup'=>$idgroup, 'idmodule'=>$idmodule])->count();
if($permissions==0){
$permission = new Permissions();
$permission->idgroup = $idgroup;
$permission->idmodule = $idmodule;
$permission->$campo = $accion;
}else{
return response()->json(['Mensaje'=>$permissions]);
}
}
Hola Raul, he podido verificar que hay dos elementos Hidden con el nombre "_token". El primero creo que lo genera el mismo framework y el segundo lo creas tú en este video.. ¿eso está bien? saludos.
el Objetivo es mostrar que debes incorporar el token, podrias buscar la manera de usar el que esta por default en el form saludos
Perfecto, muchas gracias Raul.
No hay de que amigo, saludos
Hola amigo!! molestando de nuevo... una preguntota!!
Ojala me puedas orientar.. estoy haciendo una app que necesita guardar y validar AJAX... la vdd es que la petición de AJAX por parte de JQuery funciona a la perfección pero a la hora de probarlo en un iphone y en un ipad... no funciona... probé imprimir el error con una alerta y lo único que me arroja es un : Internal Server Error pero para nada que funciona la petición... nunca me había pasado pero la vdd es que como el cliente va a usar la app desde su ipad necesito solucionarlo y no tengo idea de que puede ser... quizá alguien con más experiencia como tu sepa donde esta el error o que es lo que pasa ahí... alguna idea?
De antemano gracias!!!
Saludos!!
+MortosDer666 Te refieres a que estas construyendo una app hibrida donde utilizas Javascript para las peticiones?, saludos
hy Raul, I'm sorry i dont know what you speak so i want to ask you. To use the Ajax, why you save the data in the json database ? but i see, you save the data into mysql database. I'm disoriented hahaha. thanks before ...
+Pramita Firnanda I dont save data in json, Laravel receive the information into a package in format json, single send the information in format json and Laravel save the information normally
+Raul Palacios ok thanks Raul ..
Sorry i want to ask again.. i was try but i don't have any response with the ajax, i cant call the route when i inspect manager with my chrome browser.
buenos dias excelentes tutoriales, si alguien me pudiera ayudar probe la petición ajax al momento de enviar el mensaje, mi problema es el siguiente no me marca error ni nada(sale 200 ok) pero al momento de enviar el mensaje me dice:
{mensaje: [ ]}
mensaje:[ ]
probe con un valor y el resultado no es correcto, lo probe con uno de la tabla users no se si sera por eso o bien tengo mal escrita la url
mi url es la siguiente: "localhost/articulos/public/usuario";
si alguien me pudiera ayudar me despido
.
la verdad lo tuve que hacer otra forma sacandole el paquete html pero ahora que pienso igual se puede hacer hacer asi deberias ver como pasar los valores o bien puede ser cache del navegador limpialo y vas bien k error sale me despido
Al inspeccionar elemento y ver lo que pasa en Network nunca aparece genre y por tal razon nunca se modifican los datos en la base de datos , revise el codigo y lo copie de tu repositorio y nada, hay algo adicional que hacer en Chrome para que funcione ajax , json? gracias
+MaEdCo ya encontre mi error falta una coma al final data en el script js
data:{genre: dato}->aqui
+MaEdCo Muy bien, aprendemos mas cuando nosotros encontramos el problema, saludos
+Raul Palacios ahora como hago por que cada vez que se crea un genero ese mensaje de que se ha creado se queda ahi, como hago para que ese mensaje haga un fade out o desaparezca, o como lo redirecciono de nuevo a /genero? o cual seria la solucion? gracias
+MaEdCo Eso es independiente al front, podrias utilizar bootstrap y mantener su alert, saludos
+Raul Palacios quiero que desaparezca o lo redireccione a /genero, por que ese mensaje siempre va estar ahi despues de haber creado un genero y es molesto
si no uso laravel collective me funcionara???
Si, Laravel Collective solo es una forma de agilizar el uso del HTML
Saludos chicos ya intente bastante pero me genera este error, alguno podria ayudarme!
MethodNotAllowedHttpException in RouteCollection.php line 218:
Listo era que no habia colocado la ruta del script.js en el index...
Asi es, bueno lo importante es que se resolvio jajajaja
Muy bueno pero alguien sabe solucionar este error?
SQLSTATE[HY000]: General error: 1364 Field 'name' doesn't have a default value (SQL: insert into `messages` (`updated_at`, `created_at`) values (2017-01-05 04:59:44, 2017-01-05 04:59:44))
Debes crear esos campos en la tabla genres en mysql
Hola brother
Estoy probando en laravel 5.3, pero me sige apareciendo este error: MassAssignmentException in Model.php line 444:
genre
Buen video y ojala puedas ayudarme gracias
Ya lo resolvi brow gracias (Y) ME ayudo un buen tu video
Hola, tengo una duda, cómo se podría ejecutar un método diferente al store desde Ajax? Por ejemplo indicarle al Ajax que quiero que ejecute el método show u otro que uno cree en el controlador?
simplemente especificas la ruta correspondiente al metodo, saludos
+Raul Palacios Lo que estoy haciendo es que en el parámetro de la url coloco el método que quiero ejecutar, por ejemplo show y al ejecutar la función, se cancela el proceso dice que no existe y no entiendo por qué.
+Edu Bernal para ejecutar el metodo show de algun recurso debes enviar la ruta del recurso y el id de este por ejemplo user/1
+Raul Palacios La ruta la pongo así: localhost:8000/users/1/show y al ejecutar la función con el ajax el proceso se cancela, pero si pongo la ruta directamente en la url del navegador me da de una, no sé que me hace falta.
no debes de agregar show simplemente localhost:8000/users/1 puedes revisar la documentacion laravel.com/docs/5.1/controllers#restful-resource-controllers a ti te servira la parte de path, saludos
me retorna datos "null" que podría ser, se que lo hice una vez y funciono, pero ahora, no se que pasa.
en que parte te salta el null?, saludos
+Raul Palacios, listo, ya resolví, gracias.. ahora me pasa lo suguiente... crea el usuario y lo guarda en la base de datos correctamente, pero en los parámetros del ajax, entra en error y no en success como deveria ser..
no, listo, ya resolvi..!! xD
lo que pasa es que a mi me gusta mucho hacer las cosas un poco diferente a lo que enseñan en los tutoriales.. indago mucho con el codigo..
Buenas noches, he seguido paso a paso el tutorial pero me sale este error:
ErrorException in 39dafb09da2a36a5f98d7b4d781e8d15 line 41:
Trying to get property of non-object (View: C:\xampp\htdocs
ombre_del_proyecto
esources\views\layouts\admin.blade.php) (View: C:\xampp\htdocs
ombre_del_proyecto
esources\views\layouts\admin.blade.php)
+Osman Villegas Eso es por que busca la informacion del usuario logeado y no estas logeado, o en que parte salta este error?, saludos
+Raul Palacios Ése era el error no estaba logueado, gracias por la ayuda y excelentísimos tutoriales!!
ok no te preocupes, saludos :D
Hermano me gustaria que dijeras la razon del video :(, es mejor usar Ajax que la forma como nos habias enseñado antes??
Solo es cuestion de enfoque y en algunas ocasiones es mejor utilizar AJAX, con el puedes ejecutar tareas de manera Asyncrona, si en tu proyecto no mecesitas de esto no debes preocuparte, saludos
Raul Palacios gracias por tu respuesta.. con asyncrona te refieres a que es algo asi como node.js?
+Benito Camelas Node es Real Time
JAJAJJ todo lo contrario es verdad !! disculpa no lei bien
+Benito Camelas jaja saludos
Raul, excelente tus tutoriales! Los estoy siguiendo paso a paso y estoy aprendiendo mucho, con expectativas para generar mi propia web con Laravel
Actualmente tengo un error al enviar la peticion de Ajax, en la consola aparece un error 500
POST cinema.app/genero 500 (Internal Server Error)
y no encuentro la solucion!
Copié el codigo del repositorio del Github y tampoco anduvo..
Aclaro que estoy usando un servidor virtual no se si será por eso, algun tema de la URL que paso como parametro...
Ademas en las opciones al abrir el error dice lo siguiente:
k.cors.a.crossDomain.send @ jquery.min.js:4
n.extend.ajax @ jquery.min.js:4
(anonymous function) @ script.js:6
n.event.dispatch @ jquery.min.js:3
r.handle @ jquery.min.js:3
La verdad que normalmente contra este tipo de error, despues de renegar un poco, los soluciono pero esta vez me superó!
Espero respuestas, si alguien tiene idea que anda pasando!!
Saludos, y muchas gracias por estos excelentes tutoriales
+Agus Trombotto si seguramente es por que utilizas el servidor virtual, podria ser o es problema de los CORS, por seguridad los servidores se protejen contra peticiones AJAX que para ellos son desconocidas, si quieres saber un poco mas de los cors te invito a ver mi video de introduccion al taller de angular y laravel, saludos
¿Por que me guarda datos duplicados en mi base de datos ;( ?
Tal vez duplica la peticion
Ya lo arreglé, lo que pasa es que primero lo hice todo sin ajax y lo comenté y ahí estaba en @content... se me duplicaba el formulario en la parte de abajo y no me di cuenta, por que estaba comentado y aún así lo reconocía. Gracias por tan buenos tutoriales ! Saludos desde Perú
suele pasar, gracias amigo, saludos :D
Como estas Brayan a mi me esta duplicando lo que se envia a guardar, como lo solucionaste?
Ahh... mi error era que habia comentado una variable con @ , al parecer cuando lo comentas no hace caso y le sigue tomando.
Hi Raul, in my form i have many field. so how to code in the script?
$("#createLoker").click(function(){
var datas = $("#judul","#namaPt","#deadline","#deskripsi","#profilePt").val();
$.ajax({
data:{judul,namaPt, deadline, deskripsi, profilePt:datas};
})
});
Hola a la hora de hacer la peticion me sale el error de genero 500 internal server error?
Gamesr Xurrasco Si claro ese error es referente al servidor puedes verificar tu error al dar click sobre la peticion que tiene el error y buscar la opción preview ahi puede saltar el error de laravel, saludos
me sale en blanco el preview prodira ser qu yo utilizo xampp y la routa no la pongo bien yo pongo
"localhost/laravel/public/genero";
No pero si te salta la petición es que la esta llevando a cabo, revisa que no tengas errores en Laravel, puedes probar ejecutar tu app con artisan y no con apache.
como la ejecuto con artisan?
entra mediante el cmd a tu proyecto seria supongo cd C:/xampp/htdocs/laravel, algo asi y dentro del proyecto ejecutas php artisan serve y te ejecutara tu aplicacion en el puerto 8000 ahi te lo indicara la consola, saludos
A mi no me está creando ningún género y lo tengo igualito...
Cuando le doy clic en Registrar me aparece así localhost/nombre-proyecto/public/genero/create#
Y la consola me dice esto:
[Wed Mar 22 10:54:23 2017] 127.0.0.1:54883 Invalid request (Unexpected EOF)
supiste que era??? me pasa lo mismo
jamas me sale la peticion de género en network, localhost/nombre-proyecto/public/genero/create# es normal no? porque es un link que no va a ninguna parte
Lo que entiendo es que el create.blade.php de la vista de usuario, no está leyendo bien el script
Y la cosa es que tengo mi código exactamente como el del vídeo y no me funciona
encontraste alguna otra solución??
Que lata doy tengo todo y no me aparece que haga petición cuando tengo hago clic, me manda el favicon.ico
tengo el siguiente script que chece mil veces que estuviera bien enlazado
$("#registro").click(function(){
var dato = $("#genre").val();
var route = "localhost:8000/genero";
var token = $("#token").val();
$.ajax({
url: route,
headers: {'X-CSRF-TOKEN': token},
type: 'POST',
dataType: 'json',
data:{genre: dato},
});
});
y en controlador
public function store(Request $request)
{
if($request->ajax()){
return response()->json([
"mensaje" => $request->all()
]);
}
}
y en genero.blade.php
@include('genero.form.genero')
{!!link_to('#', $title='Registrar', $attributes = ['id'=>'registro', 'class'=>'btn btn-primary'])!!}
guillermo reyes Revisa en la consola que error te ocasiona, cada vez que des un click debe apareser un error
Raul Palacios [Wed Jul 29 11:11:27 2015] 127.0.0.1:52040 [200]: /favicon.ico
ME APARECE ESO, comienzo a pensar que mi script esta mal aunque lo puse tal y como lo tienes
Si un script falla no tendra accion, aunque es extraño que en la consola del navegador no te indique algun fallo, vuelve a escribir tu script o copialo del repositorio, saludos.
Raul Palacios no mi hermano hice eso y sigue igual, saludos y gracias seguire intentandole, jeje si tienes alguna idea del porque me pasa te agredeceria un buen que comentaras, muy buenos videos
Raul Palacios Dios mio ya quedo tenia mal el orden en que se cargaban los scripts :')
hola estoy usando windows con xampp y el puerto 80 para el servidor apache, puedes darme una ayuda de como se configura para que cargue el recurso del proyecto con solo poner localhost:80/genero en la barra de direccion del navegador normalmente en otros ejercicios pongo localhost/nombreProyecto y carga el proyecto; es primera vez que uso laravel y para que carge el proyecto del tutorial al que he llamado "laravel" tengo que poner en la url localhost/laravel/public o localhost/laravel/public/genero/create para el recurso crear genero, tal vez por eso tengo un error, en script.js he puesto asi: var route = "localhost:80/laravel/public/genero"; y no se puede registrar genero al momento de dar clic en registrar genero en la consola sale un error de acceso: "XMLHttpRequest cannot load localhost/laravel/public/genero. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'www.localhost' is therefore not allowed access." alguna idea de como solucionar eso amigo Raul?
Carl Castillo tu ruta seria esta: localhost/laravel/public/genero; te propongo que entres a tu proyecto y ejecutes el php artisan serve esto te ejecutara tu aplicacion en el puerto 8000, prueba tu peticion y si el error persiste entonces tienes errores en tu script, saludos :D
Raul Palacios gracias por tu respuesta, antes de ejecutar el comando "php artisan serve" pude observar que el error No 'Access-Control-Allow-Origin solo sucedia en el navegador chrome y en firefox con el mismo codigo al hacer click en registrar si guardaba el genero en la bd, luego en script.js al hacer el envio ajax probé con dataType: 'jsonp', (con "p" al final) y en chrome ya no salio el error y sí guardo el genero en la bd. crees que haya algun problema si dejo el codigo con dataType: 'jsonp' ? aun quiero tener de reserva lo del comando artisan serve por si surge luego el mismo problema.
nota: revisando bien el codigo en el archivo genero/create.blade.php habia un error de sintaxis faltaba el signo igual en name="_token" ahora regrese al codigo original del tutorial y ya funciona bien en chrome y en firefox, pero si lo dejaba con dataType: 'jsonp' funciona igual? googleando vi que significa json con padding