Русское сообщество разработки на PHP-фреймворке Laravel.
Ты не вошёл. Вход тут.
Страницы 1
Скажите я получаю 500error
php artisan route:list
POST | ajaxController | | App\Http\Controllers\AjaxController@index | web
Route почему то в файле routes/web.php
Route::post('/ajaxController', 'AjaxController@index');
контроллер
class AjaxController extends Controller
{
public function index(){
print_r($_POST);
} //
}
Не в сети
Могу ошибаться, но, вроде, с $_POST, напрямую, вообще не так все просто. Может, стоит попробовать через ларавелевский Request, и, если на то пошло, не print_r, а dd?
Изменено Androbim (26.01.2017 14:04:14)
Не в сети
напишите пожалуйста опыта в Ларавеле вообще нет
тутвот этот роут прошел
Route::post('/AjaxController', function()
{
return 'Success! ajax in laravel 5';
});
Но при этом контроллере 500 ошибка
class AjaxController extends Controller
{
public function index(Request $request){
print_r($request);
}
}
и при этом роуте
Route::post('/AjaxController', 'AjaxController@index');
Изменено imediasun (26.01.2017 14:13:52)
Не в сети
'/AjaxController' - это маршрут?
Вы меня извините, но если совсем нет опыта, то начинать нужно с чтения документации, а не с вопросов на форуме, потому что вопросы будут возникать каждые пять минут. И, мне кажется, не стоит начинать с отработки ajax-а, лучше всего было бы, на мой взгляд, для начала, построить простейшую MVC-связку.
Очень рекомендую проделать вот это https://laravel.ru/docs/v5/quickstart, еще там есть продвинутый вариант быстрого старта.
Не в сети
да маршрут, я все проделал до аякса дошел, нет опыта у меня в php много но тут контроллер не принимает видимо свой реквест у него потому и спрашиваю чтобы меня поправили а маршруты видно правильно выставлены. Просто я уже на реальной задаче тренируюсь
Изменено imediasun (26.01.2017 14:21:50)
Не в сети
Тогда вот, хорошая статья на эту тему Laravel Ajax Register and Login
Не в сети
Мне бы практически эту задачу решить, помогите пожалуйста я только на практике усваиваю такие вещи, а регистрацию я уже сделал
Здесь видать в контроллере неправильно что то может Input какой нужен, как в контроллере ПОСТ принимается? Или Request я не правильно написал, просто напишите как бы вы написали контроллер в который пост приходит, роуты рабочие это я проверил
Изменено imediasun (26.01.2017 14:34:55)
Не в сети
А никто не говорит заново делать регистрацию. Статья учит работать с ajax-ом в Laravel. Не ленитесь, почитайте. Разверните свежий проект, сделайте то, что в статье написано, убедитесь, что все работает (а оно работает, проверено), потом адаптируйте решение под свой проект. Решать за Вас практические рабочие задачи "кароч, мне надо"(С) лично я не буду.
Не в сети
да не так как вы представили, но там нет контроллера в этой статье и я понять не могу
Не в сети
Вот мой собственный тестовый контроллер, ничего нового:
public function testAjax() {
$users = User::all();
return view('users.testajax', ['users' => $users]);
}
Его дело просто отдать данные, все, как обычно. Понимать там нечего, php просто делает свое дело, возвращает html-код
Вот роут:
Route::get('/makeup/testajax', ['uses' => 'UserController@testAjax', 'as' => 'users.testajax']);
А вся ajax-цепочка расписана, по шагам, в статье.
Извините, но я из дискуссии выбываю.
Не в сети
У меня пост запрос НЕ могу все таки понять как должен в моем случае выглядеть контроллер у вас все таки другой случай, если кто может помочь напишите пожалуйста
На данный момен ошибка 500
use Illuminate\Http\Request;
use Illuminate\Database\Eloquent\Model;
use App\Http\Controllers\Controller;
use Illuminate\Http\Response;
class AjaxController extends Controller
{
public function index(Request $request){
if ($request->ajax()) {
print('123');
}
}
}
Не в сети
Если POST-запрос поменять на GET ошибка остается?
Не в сети
Ошибка у тебя скорее всего не из-за кода контроллера
Не в сети
да ошибка остается 100% контроллер но каким он должен быть в моем случае кто скажет?
Не в сети
Было бы не плохо увидеть код аякса, и саму ошибку (Dev Tools -> network). Тогда уже можно будит как то вам помочь.
Не в сети
$.ajaxSetup({
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
}
});
$.ajax({
type: "POST",
url: "/AjaxController",
data: { name: "John", location: "Boston" }
}).done(function( msg ) {
alert( "Data Saved: " + msg );
});
Изменено imediasun (27.01.2017 15:00:34)
Не в сети
Route::post('/ajaxController', 'AjaxController@index');
В методе @index, возможно буква e или x в русской раскладке. Либо в самом контроллере в методе такая ошибка. .
--
Не может быть такое?
Изменено skiphog (27.01.2017 17:13:05)
Не в сети
Это очепятка? (Лишняя фигурная скобка)
Скажите я получаю 500error
php artisan route:list
POST | ajaxController | | App\Http\Controllers\AjaxController@index | web
Route почему то в файле routes/web.php
Route::post('/ajaxController', 'AjaxController@index');контроллер
class AjaxController extends Controller
{
public function index(){
print_r($_POST);
} //
}
Изменено TrueKanonir (27.01.2017 17:39:33)
Не в сети
Новобранец не подаётся )) поэтому вместо удочки дам вам рыбу
Если код на аяксе правильный то вы просто не передали значение _token
вставьте на странице откуда передаются данные
<input type="hidden" id="_token" name="_token" value="{{csrf_token()}}">
и передайте в аякс значение поля _token
А вообще, в следующий раз внимательно читайте ошибки, который выдаёт ларавел, там очень часто всё написано
Изменено Dens (27.01.2017 22:32:33)
Не в сети
Ошибка 500 все еще есть код выглядит так
Этот код на странице с аякс запросом
<input type="hidden" id="_token" name="_token" value="This {{Action}} has wrong syntax and can’t be executed.">
<script type="text/javascript">
$.ajaxSetup({
headers: {
’X-CSRF-TOKEN’: $(’meta[name="csrf-token"]’).attr(’content’)
}
});
</script>
Ну естественно сам запрос
Роут
Route::post(’/MainController/ajax_usersessions’, ’MainController@ajax_usersessions’);
И контроллер
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Http\Requests;
use Input;
use DB;
use App\Specialization;
class MainController extends Controller
{
public function ajax_usersessions(Request $request)
{
if ($request->ajax()) {
print(’123’);
}
}
}
!!
Почему возникает 500 ошибка?
Изменено imediasun (05.02.2017 19:30:20)
Не в сети
передавайте не
’X-CSRF-TOKEN’: $(’meta[name="csrf-token"]’).attr(’content’)
а значение самого поля с таким же именем
$('#_token').val()
Поймать то что передаёте можно через
$request->input('field_name');
Не в сети
Объясните пожалуйста что нужно сделать толком
<input type="hidden" name="_token" id="_token" value="{!! $csrf_token !!}}" />
<script type="text/javascript">
$.ajaxSetup({
headers: {
$('#_token').val()
}
});
</script>
Я вот так написал в head секции сайта
роут у меня такой
Route::post('/functions_images', 'FunctionController@index');
вот контроллер
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Http\Request;
class FunctionsController extends Controller
{
//
public function index($request){
dump($request);
}
}
Изменено imediasun (15.02.2017 23:23:18)
Не в сети
<input type="hidden" name="_token" id="_token" value="{!! $csrf_token !!}}" />
<script type="text/javascript">
$.ajaxSetup({
headers: {
'X-CSRF-Token': $('#_token').val()
}
});
</script>
Изменено imediasun (16.02.2017 00:39:39)
Не в сети
Страницы 1