Laravel с Jquery — Ajax выдает ошибку 500 — проблема со стороны сервера

#javascript #php #jquery #ajax #laravel-4

#javascript #php #jquery #ajax #laravel-4

Вопрос:

. Привет всем. Я пытаюсь собрать несколько переменных и отправить их на свой контроллер. Я продолжаю получать ошибку 500 и не могу понять, где именно я ошибаюсь, кроме того, что я уверен, что на стороне сервера. Любые указания о том, где я ошибся, или лучшие практики будут с благодарностью! Большое вам спасибо!

Маршрут:

 /*Ajax Edit Price on Price Page*/
    Route::post('edit_price', array(
        'as'    => 'edit_price',
        'uses'  => 'PriceController@edit_price'     
    ));
 

Контроллер:

 public function price_edit(){

    console.log($id_and_db);

    }
 

JS:

 /*Ajax edit prices*/
$(document).ready(function(){

        $('.edit_button').click(function(e){
        e.preventDefault();

        var id_and_db   = $(this).prop('name').replace('edit', 'newprice'),
        new_price   = $('[name='   id_and_db   ']').val();

        $('#test').val(id_and_db);

        $.ajax({
            url: 'edit_price',
            type: "POST",
            data: {
                "id_and_db": id_and_db,
                "new_price": new_price,
            },
            success: function(data){
                $("#edit_results").html(data);
                $("#edit_results").addClass('panel callout radius');
                console.log(data);
            },
            error: function(xhr, status, error){
                console.log(xhr);
                console.log(status);
                console.log(error);
            },
        });
    });

});
 

Сообщение об ошибке:

 POST http://localhost/local/example/public/edit_price 500 (Internal Server Error) jquery.min.js:4
XHR finished loading: POST "http://localhost/local/example/public/edit_price". jquery.min.js:4
Object {readyState: 4, getResponseHeader: function, getAllResponseHeaders: function, setRequestHeader: function, overrideMimeType: function…}
 price_index_admin.js:40
error price_index_admin.js:41
Internal Server Error 
 

Ответ №1:

Ты это сделал

 'uses'  => 'PriceController@edit_price'
 

но ваш метод контроллера price_edit() .

Попробуйте изменить метод вашего контроллера на

 public function edit_price() {
 

Комментарии:

1. @gv0029 Небольшие ошибки могут быть действительно болезненными для поиска, не так ли? : D Добро пожаловать!

2. Да, я продолжаю думать, что я, должно быть, что-то не понимаю в реальном ajax и забываю, что опечатки так же смертельны.

Ответ №2:

Это недопустимо для контроллера — похоже, вы пытаетесь запустить java внутри php:

 public function price_edit(){

    console.log($id_and_db);

    }
 

это должно быть что-то вроде этого

 public function price_edit(){

    return Response::json(['your response here']);

    }
 

Комментарии:

1. Я просто пытался выполнить некоторую отладку. Все еще получаю ошибку 500, когда я пытаюсь это сделать, но все же спасибо.