我需要一些帮助。我在Ajax中使用FormData发布多个数据,但是在发布第二个和第三个数据后,总是出现500 Internal Server Error。唯一可以发布的文件是第一个数据。
这是我的代码:
HTML文件
addProductModifier(data) {
this.notice.warning(show); // works finf
return this.http.get<any>( api_url + '/addProductModifier', {params: data} ).catch(this.errHandler.bind(this));
}
路线:
<form class="validation-wizard wizard-circle" method="post" data-toggle="validator" enctype="multipart/form-data" id="form">
@csrf
<input type="hidden" id="id" name="id">
<!-- Step 1 -->
<h6>Your Information</h6>
<section>
<div class="row">
<div class="col-md-6">
<div class="form-group">
<label for="wfirstName2"> First Name : <span class="danger">*</span> </label>
<input type="text" class="form-control required" id="wfirstName2" name="first_name" value="{{ Auth::user()->first_name}}"> </div>
</div>
<div class="col-md-6">
<div class="form-group">
<label for="wlastName2"> Last Name : <span class="danger">*</span> </label>
<input type="text" class="form-control required" id="wlastName2" name="last_name" value="{{ Auth::user()->last_name }}"> </div>
</div>
</div>
<div class="row">
<div class="col-md-6">
<div class="form-group">
<label for="wemailAddress2"> Email Address : <span class="danger">*</span> </label>
<input type="email" class="form-control required" id="wemailAddress2" name="email" value="{{ Auth::user()->email }}" readonly="true"> </div>
</div>
<div class="col-md-6">
<div class="form-group">
<label for="phone2">Phone Number :</label>
<input type="text" class="form-control" id="phone2" value="{{ Auth::user()->contact }}" name="contact"> </div>
</div>
</div>
<div class="row">
<div class="col-md-6">
<div class="form-group">
<label for="wlocation2"> Select City : <span class="danger">*</span> </label>
<select class="custom-select form-control" id="wlocation2" name="city" value="{{ Auth::user()->city }}">
<option value="">--Select City--</option>
<option value="Manila">Manila</option>
<option value="Quezon City">Quezon City</option>
<option value="Makati">Makati</option>
<option value="Caloocan">Caloocan</option>
<option value="Las Piñas">Las Piñas</option>
<option value="Malabon">Malabon</option>
<option value="Mandaluyong">Mandaluyong</option>
<option value="Marikina">Marikina</option>
<option value="Muntinlupa">Muntinlupa</option>
<option value="Navotas">Navotas</option>
<option value="Parañaque">Parañaque</option>
<option value="Pasay">Pasay</option>
<option value="Pasig">Pasig</option>
<option value="Pateros">Pateros (Municipality)</option>
<option value="San Juan">San Juan</option>
<option value="Taguig">Taguig</option>
<option value="Valenzuela">Valenzuela</option>
<option value="Other">--Other--</option>
</select>
</div>
</div>
<div class="col-md-6">
<div class="form-group">
<label for="wdate2">Date of Birth :</label>
<input type="date" class="form-control" id="wdate2" value="{{ Auth::user()->birth }}" name="birth"> </div>
</div>
</div>
</section>
<!-- Step 2 -->
<h6>More About You</h6>
<section>
<div class="row">
<div class="col-md-12">
<div class="form-group">
<label for="shortDescription3">Short description about your self:</label>
<textarea name="shortDescription" id="shortDescription3" rows="6" class="form-control" name="description"
value="{{ Auth::user()->description }}"></textarea>
</div>
</div>
</div>
</section>
<!-- Step 3 -->
<h6>About your Pom</h6>
<section>
Pom 1
<br/>
<br/>
<div class="row">
<div class="col-md-6">
<div class="form-group">
<label for="wint1">Pom's name :</label>
<input type="text" class="form-control" name="pom_name1" id="pom_name1" value="{{ Auth::user()->pom_name1 }}"> </div>
<div class="form-group">
<label for="wint1">Your Pom's color :</label>
<input type="text" class="form-control" name="pom_color1" id="pom_color1" value="{{ Auth::user()->pom_color1 }}"> </div>
</div>
<div class="col-md-6">
<div class="form-group">
<label for="wjobTitle4">Birth Date :</label>
<input type="date" class="form-control" id="pom_birth1" name="pom_birth1" value="{{ Auth::user()->pom_birth1 }}">
</div>
<div class="form-group">
<label>Gender :</label>
<select class="custom-select form-control" id="pom_gen1" name="pom_gen1" value="{{ Auth::user()->pom_gen1 }}">
<option value="">--Gender--</option>
<option value="Male">Male</option>
<option value="Female">Female</option>
</select>
</div>
</div>
</div>
<br/>
<br/>
Pom 2
<br/>
<br/>
<div class="row">
<div class="col-md-6">
<div class="form-group">
<label for="wint1">Pom's name :</label>
<input type="text" class="form-control" name="pom_name2" id="pom_name2" value="{{ Auth::user()->pom_name2 }}"> </div>
<div class="form-group">
<label for="wint1">Your Pom's color :</label>
<input type="text" class="form-control" name="pom_color2" id="pom_color2" value="{{ Auth::user()->pom_color2 }}"> </div>
</div>
<div class="col-md-6">
<div class="form-group">
<label for="wjobTitle4">Birth Date :</label>
<input type="date" class="form-control" id="pom_birth2" name="pom_birth2" value="{{ Auth::user()->pom_birth2 }}">
</div>
<div class="form-group">
<label>Gender :</label>
<select class="custom-select form-control" id="pom_gen2" name="pom_gen2" value="{{ Auth::user()->pom_gen2 }}">
<option value="">--Gender--</option>
<option value="Male">Male</option>
<option value="Female">Female</option>
</select>
</div>
</div>
</div>
<br/>
<br/>
Pom 3
<br/>
<br/>
<div class="row">
<div class="col-md-6">
<div class="form-group">
<label for="wint1">Pom's name :</label>
<input type="text" class="form-control" name="pom_name3" id="pom_name3" value="{{ Auth::user()->pom_name3 }}"> </div>
<div class="form-group">
<label for="wint1">Your Pom's color :</label>
<input type="text" class="form-control" name="pom_color3" id="pom_color3" value="{{ Auth::user()->pom_color3 }}"> </div>
</div>
<div class="col-md-6">
<div class="form-group">
<label for="wjobTitle4">Birth Date :</label>
<input type="date" class="form-control" id="pom_birth3" name="pom_birth3" value="{{ Auth::user()->pom_birth3 }}">
</div>
<div class="form-group">
<label>Gender :</label>
<select class="custom-select form-control" id="pom_gen3" name="pom_gen3" value="{{ Auth::user()->pom_gen3 }}">
<option value="">--Gender--</option>
<option value="Male">Male</option>
<option value="Female">Female</option>
</select>
</div>
</div>
</div>
</section>
<!-- Step 4 -->
<h6>And Finally</h6>
<section>
<div class="row">
<div class="col-md-4">
<h3>Upload Profile Picture</h3>
<br/><br/>
<img src="/img/rrpom.png" id="profile_tar" class="profile">
<input type="file" name="profile" id="profile">
<br/><br/>
<input type="button" name="" value="Browse" id="browse_profile" class="btn btn-primary form-control">
</div>
<div class="col-md-8">
<h3>Upload Cover Photo</h3>
<br/><br/>
<img src="" id="cover_tar" class="cover">
<input type="file" name="cover" id="cover">
<br/>
<br/>
<input type="button" name="" value="Browse" id="browse_cover" class="btn btn-primary form-control">
</div>
</div>
</section>
</form>
</div>
<!-- /.box-body -->
</div>
</section>
<script type="text/javascript">
jQuery(document).ready(function(){
jQuery('.finish').click(function(g){
g.preventDefault();
$.ajaxSetup({headers: {'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')}});
var form = $('form')[0]; // You need to use standard javascript object here
var formData = new FormData(form);
$.ajax({
url: "{{ url('/user-update') }}",
type: 'POST',
data: formData,
processData: false,
contentType: false,
success: function(data){
alert(data.success);
}
});
});
});
</script>
控制器:
Route::post('/user-update','MemberController@userUpdate')->middleware('auth');
我希望有人能解决这个问题,对此将不胜感激。 预先感谢!