首页 文章

使用laravel5中的jquery ajax进行图像上传的表单提交

提问于
浏览
0

我正在尝试使用jquery ajax提交带有图像上传的表单,但每次我选择一个图像并单击提交按钮警报($(this).serialize())显示 -

_token = TCWpR3n9Uf2FpKMXi639Dcvzhc7t4fVDWDopjZ8V .

这是我的表格 -

{!! Form::open(['action'=>'ImageController@store', 'name'=>'form1', 'id'=>'formId1', 'files'=>true]) !!}

<div class="form-group">
{!! Form::file('image') !!}                         
</div>
<div class="form-group">
{!! Form::submit('Upload', array( 'class'=>'btn btn-danger', 'name'=>'image_form_submit'  )) !!}                        
</div>
{!! Form::close() !!}

这里是js-

<script src="http://ajax.googleapis.com/ajax/libs/jquery/2.0.3/jquery.min.js"></script>

<script type="text/javascript">
    $(document).ready(function() {
        $("form").submit(function(e){ //
           e.preventDefault();


        alert($(this).serialize()); //always alerts the tocken- _token=TCWpR3n9Uf2FpKMXi639Dcvzhc7t4fVDWDopjZ8V 
        $.ajax({

            type:"POST",
            url: $(this).attr('action'),
            data: $(this).serialize(),
            dataType: 'json',
            success: function(data){
                console.log(data);
            },
            error: function(data){

            }
        })
            return false;
        });
    });
</script>

我想得到表格的序列化数据,并通过ajax发布到我的控制器 . 为什么警报始终显示令牌?

1 回答

  • 1

    如果ajax图像上传“$(this).serialize()”不起作用 .

    你必须传递(data:formData,)如下 -

    $.ajax({
            type:"POST",
            url: $(this).attr('action'),
            data:formData,
            cache:false,
            contentType: false,
            processData: false,
            success: function(data){
                console.log(data);
            },
            error: function(data){
    
            }
        })
    

相关问题