Laravel与Jquery - Ajax投掷500错误 - Prob与服务器端

时间:2014-06-19 02:01:01

标签: 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 

2 个答案:

答案 0 :(得分:2)

你做了

'uses'  => 'PriceController@edit_price'

但您的控制器方法是price_edit()

尝试将控制器方法更改为

public function edit_price() {

答案 1 :(得分:1)

这对于控制器无效 - 看起来你正试图在php中运行java:

public function price_edit(){

    console.log($id_and_db);

    }

它应该是这样的

public function price_edit(){

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

    }