-1
私はサーバーに投稿を送信しようとしていますが、いつもエラーが発生しています何も何も試していません。FormData/Javaを使用したファイルでajaxフォームを送信する方法
JS:
var form = $('form')[0];
var formData = new FormData(form);
$.ajax({
method: "POST",
url: "./signup",
data: formData,
enctype: 'multipart/form-data',
cache: false,
contentType: false,
processData: false,
success : function(data) {
//...
},
error : function(qXHR, textStatus, errorThrown){
console.log(errorThrown, "Error " + qXHR.status);
}
});
HTML:
<form id="signup-form" action="#">
<div class="form-group">
<label>First Name</label>
<input name="firstName" type="text" id="firstName">
</div>
<div class="form-group">
<label>Surname</label>
<input name="surname" type="text" id="surname">
</div>
<div class="form-group">
<label>File</label>
<input type="file" name="attachFile" id="attachFile">
</div>
</div>
<input type="submit" id="btn-submit-signup value="Submit">
</form>
javaの
//controller header
@RequestMapping(value = "/signup", headers = "content-type=multipart/*", method = RequestMethod.POST)
public @ResponseBody Response<String> signup(@RequestBody UserSignup details)
//UserSignup
public class UserSignup {
private String firstName;
private String surname;
private MultipartFile attachFile;
public UserSignup(){}
//getters and setters...
}
何が間違っている任意のアイデア?
リクエストがサーバーに正しく送信されているかどうかをブラウザで確認できますか? – SpringLearner
さて、エラー415が発生しました。以前は、この呼び出しでjsonを送信していたので、完全に動作していましたが、FormDataでこれを行うようにコードを変更したので、ファイルを送信する必要があります。 @SpringLearner – gon250
もう一つのメソッドパラメータ@RequestParam MultipartFileファイルを用意して、あなたのajax呼び出しにデータ型を提供することができます – SpringLearner