POST请求无法使用Ajax laravel 4(投票系统)

时间:2014-05-08 23:45:34

标签: php ajax laravel-4

我正在实施投票​​系统。我试图在laravel 4中实现AJAX,但我遇到了500内部服务器问题。 AJAX代码适用于创建用户系统。

我的表格:

{{ Form::open(array('url' => 'profilepublicationvote', 'class' => 'vote_ajax')) }}
<input type="text" id="disabledTextInput" style="display:none" name="vote" value='1'>
<input type="text" id="disabledTextInput" style="display:none" name="user_id" value="{{ Auth::user()->id }}">
<input type="text" id="disabledTextInput" style="display:none" name="publication_id" value="{{ $publication->id }}">

{{ Form::submit('vote', array('class' => 'button expand round')) }}

{{ Form::close() }}

routes.php文件

Route::post('profilepublicationvote', function(){
if(Request::ajax()){
    $votedata = array(
        'vote'          =>  Input::get('vote'),
        'user_id'       =>  Input::get('user_id'),
        'publication_id'=>  Input::get('publication_id'),
    );
        $vote = new Profilepublicationvote($votedata);
        $vote->save(); 
        if($user)
        {
            return Response::json(array(
                'success'         =>     true,
                'message'         =>     'Yeah!'
            ));
        }
}
});

我的javascript:

 $(document).ready(function() {
var form = $('.vote_ajax');
    form.bind('submit',function () {
        $.ajax({
            type: form.attr('method'),
            url: form.attr('action'),
            data: form.serialize(),
            complete: function(data){
            },
            success: function (data) {
                $('.success_message').hide().html('');
                    $(form)[0].reset();
                    $('.success_message').show().html(data.message)
            },
        });
   return false;
});
});

edit1:我已经为$ vote更改$ user但不是问题。

2 个答案:

答案 0 :(得分:0)

你没有$ user变量我觉得你的if语句总是假的

也许你应该这样做

    if($vote->save())

答案 1 :(得分:0)

我已经解决了改变路线的问题:

Route::post('profilepublicationvote', function(){
if(Request::ajax()){
        $voto = new Profilepublicationvote();
        $voto->vote         =   Input::get('vote');
        $voto->user_id          =  Input::get('user_id');
        $voto->publication_id   =  Input::get('publication_id');
        $voto->save(); 
}
});