2013-02-20 134 views
1

我有一個控制器類似如下客戶端發送的請求在語法上不正確?

@Controller 
public class SettingsController { 
    @RequestMapping(value="/editname",method=RequestMethod.POST) 
    public void editName(@RequestParam(value="firstname") String firstname, 
         @RequestParam(value="lastname") String lastname) { 
     final Object principal = 
     SecurityContextHolder.getContext().getAuthentication().getPrincipal(); 
     try { 
     jdbcPersonRepository.updateName(principal.toString(), firstname, lastname); 
     } catch (SignInNotFoundException e) { 
     } 
    } 
} 

,我有我的Ajax表單提交。

$(function() { 
    //twitter bootstrap script 
    $("button#submit").click(function(){ 
    var $form = $(this).closest("form"); 
    var type = $form.attr('method'); 
    $.ajax({ 
     type: $form.attr('method'), 
     url: $form.attr('action'), 
     data: $form.serialize(), 
     dataType : "json", 
     success: function(msg){ 
       $("#thanks").html(msg) 
       $("#form-content").modal('hide');  
     }, 
     error: function(){ 
      //alert("failure"); 
     } 
     }); 
}); 
}); 

和我的Twitter,其具有觸發Ajax是如下

<!-- Name Edit div --> 
<div id="form-content" class="modal hide fade in" tabindex="-1"> 
    <form name="edit-form" action="<c:url value="/editname" />" method="post"> 
    <div class="modal-header"> 
     <h4>Edit Name</h4> 
    </div> 
    <div class="modal-body"> 
    <div class="control-group"> 
     <div class="controls"> 
      <ul class="nav nav-list"> 
      <li class="nav-header">First Name</li> 
      <li><input type="text" placeholder="First Name" name="firstName" id="firstName" class="input-xlarge help-inline"></li> 
      <li class="nav-header">Last Name</li> 
      <li><input type="text" placeholder="Last Name" name="lastName" id="lastName" class="input-xlarge help-inline"></li> 
     </ul> 
     </div> 
     </div> 
    </div> 
    <div class="modal-footer"> 
     <button id="submit" class="btn btn-success">Update</button> 
     <button class="btn" data-dismiss="modal" >Close</button> 
    </div> 
    </form> 
</div> 

是否有任何人有任何關於此錯誤的線索形式引導模式。 ?

回答

4

在方法聲明中,@RequestMapping註釋給出的參數名稱爲firstnamelastname。在HTML格式中,它們是firstNamelastName

請求參數名稱區分大小寫...... ergo,它們不匹配,並且Spring告訴您這是一個無效的請求,因爲缺少必需的參數。

相關問題