为什么我不能使用jquery发布到laravel路由?

为什么我不能使用jquery发布到laravel路由?

问题描述:

I'm trying to submit a single value as following?

HTML:

 <form class="form-horizontal" role="form" method="POST"  enctype="multipart/form-data" name="frmanalyse" id="frmanalyse">
{{ csrf_field() }}
 <label for="marginsource" style="float: left;  width:150px; text-align:left;">Margin Source</label>
 <input type="file" name="marginsource" id="marginsource" >
 <br />
 </form>

script:

 <script type="text/javascript">
  $( "#frmanalyse" ).submit(function(event) {
            $.post( "marginanalyser", {username: "medo ampir"}, function( data ) {
                alert(data);
            });
            event.preventDefault();
  });

in laravel routes:

Route::post('marginanalyser',function(Request $request){
 echo $request->input('username');

 $file = $request->file('marginsource');
echo 'File Name: '.$file->getClientOriginalName();
});

nothing shows in the message at all.

我正在尝试提交单个值,如下所示? p>

HTML: strong> p>

 &lt; form class =“form-horizo​​ntal”role =“form”method =“POST”enctype =“multipart / form-data  “name =”frmanalyse“id =”frmanalyse“&gt; 
 {{csrf_field()}} 
&lt; label for =”marginsource“style =”float:left; width:150px; text-align:left;“  &gt;保证金来源&lt; / label&gt; 
&lt; input type =“file”name =“marginsource”id =“marginsource”&gt; 
&lt; br /&gt; 
&lt; / form&gt; 
  code  >  pre> 
 
 

脚本: strong> p>

 &lt; script type =“text / javascript”&gt; 
 $  (“#frmanalyse”)。submit(function(event){
 $ .post(“marginanalyser”,{username:“medo ampir”},function(data){
 alert(data); 
});  
 event.preventDefault(); 
}); 
  code>  pre> 
 
 

p>

在laravel路线中: strong> p>

  Route :: post('marginanalyser',function(Request $ request){
 echo $ request-&gt;  input('username'); 
 
 $ file = $ request-&gt; file('marginsource'); 
echo'文件名:'。$ file-&gt; getClientOriginalName(); 
}); 
   code>  pre> 
 
 

消息中根本没有显示。 p> div>

Change your JavaScript to use FormData as you aren't submitting the file

$( "#frmanalyse" ).submit(function(event) {
    event.preventDefault();

    var formData = new FormData();
    formData.append('marginsource', $('#marginsource')[0].files[0]);
    formData.append('username', "medo ampir");

    $.ajax({
        url : window.location.origin + "/marginanalyser",
        type: "POST",
        data : formData,
        headers: {
            'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
        },
        processData: false,
        contentType: false,
        success:function(data, textStatus, jqXHR) {
            console.log(data);
        },
        error: function(jqXHR, textStatus, errorThrown){
            //if fails     
        }
    });
});