成功更新laravel时,Ajax请求显示错误消息

时间:2016-05-05 08:31:08

标签: php ajax laravel

laravel更新表单中控制器的代码为:

public function edit(){
    $inputValue = [
        'id' => Input::get('id'),
        'name' => Input::get('name'),
        'parent_id' => Input::get('parent_id'),
        'color' => Input::get('color'),
        'description' => Input::get('notes')
    ];

    $validator = \Validator::make( $inputValue, \Resource::getEditFolderRules() );

    // Validate the input and return correct response
    if ($validator->fails()){
        return Response::json([
            'success' => false,
            'errors' => $validator->getMessageBag()->toArray()
        ]);
    }

    $resource = $this->repo->updateFolderBasicDetail($inputValue);
    return Response::json([
        'success' => true,
        'url' => \URL::route('folder-detail', $inputValue['id'])
    ]);
}

和js是:

<script type="text/javascript">
    $(function(){
        $("#edit-folder").on('submit', function(e){
            e.preventDefault();
            if($("#edit-folder").valid() == true){
                var description = CKEDITOR.instances.edit_folder_ckeditor1.getData();
                $('#notes').val(description);
                $.ajax({
                    url: "{{ URL::to('folder/edit') }}",
                    type: "POST",
                    data: $( this ).serialize(),
                    dataType: "json",
                    success:function(data) {
                        var errorString = '<ul class="msg msg_unsuccess">';
                        var success = 'Folder is updated.';
                        errorString += '<li>' + success + '</li>';
                        errorString += '</ul>';
                        $('#sucessmsg').html(errorString).delay(3000).fadeOut();
                        $('.modal-content').delay(3000).fadeOut();
                        $('.fade').delay(3000).fadeOut();
                    },
                    error:function(data) {
                        var errorString = '<ul class="msg msg_success">';
                        var error = 'Folder is not updated.';
                        errorString += '<li>' + error + '</li>';
                        errorString += '</ul>';
                        $('#sucessmsg').html(errorString).delay(3000).fadeOut();
                        $('.modal-content').delay(3000).fadeOut();
                        $('.fade').delay(3000).fadeOut();
                        setTimeout(function(){location.reload();},3000);


                    }
                });
            }
        });

    });
</script>

但是当我更新文件夹时,它正在更新,并且消息显示在error:function

不明白我错在哪里请帮帮我。

1 个答案:

答案 0 :(得分:0)

我在Laravel 5.2中使用AJAX与路由,创建变量url和变量令牌(如果需要),在php文件中的视图,包含脚本之前

<script>
    var token = '{{ Session::token()}}';
    var url = '{{ route('select_cafe') }}';
</script> 
<script src="{{asset('/script/select_cafe.js')}}" ></script>
相关问题