为什么ajax调用在每次调用时都输入成功和错误块?

2eafrhcq  于 2021-08-20  发布在  Java
关注(0)|答案(1)|浏览(168)

我想将图片上传到数据库中,每次我调用ajax时,它都会进入成功和错误块。这是我的html:

<div>
        <form  id="test-form" enctype="multipart/form-data">
            <div>
                <label>Photos: </label>
                <input type="file" id="file"/>
            </div>
            <input type="button" value="Add" id="add-movie-tvShow-btn">
        </form> 
    </div>

这是我的ajax调用

let insertButton = $("#add-movie-tvShow-btn");
insertButton.on('click', function () {

let formData = new FormData();
let file = $("#file")[0].files[0];
formData.append("file", file);

        $.ajax({
            url: "http://localhost:8080/upload",
            method: "POST",
            data: formData,
            contentType: false,
            processData: false,
            success: function(){
            alert("Enter success block");
                },
            error: function(){
              alert("Enter error block")  
              }
        });

   });

这是处理ajax请求的方法:

@PostMapping(value = "/upload", consumes = "multipart/form-data")
public void uploadFile(@RequestParam("file") MultipartFile file, Movie movie) throws 
IOException {
    File convertFile = new File("C:\\Users\\myName\\Desktop\\" + file.getOriginalFilename());
    convertFile.createNewFile();
    FileOutputStream fout = new FileOutputStream(convertFile);
    fout.write(file.getBytes());
    movie.setImage(file.getBytes());    
    movieRepo.save(movie);
    fout.close();
}

它在数据库中创建数据,但我不明白为什么要输入错误块?我做错了什么?

kd3sttzy

kd3sttzy1#

你能试试preventdefault()吗?类似下面的例子。

insertButton.on('click', function (e) {
  e.preventDefault();

相关问题