阴鸦 2017-03-30 03:31 采纳率: 50%
浏览 842

form提交失败 保存不成功

代码以下:
//定义一个form表单
var form= new FormData();
form.append("booksSoleNumber",booksSoleNumber);
form.append("booksName",booksName);
form.append("booksAuthor",booksAuthor);
form.append("press",press);
form.append("publishTime",publishTime);
form.append("booksInventory",booksInventory);
form.append("booksPrice",booksPrice);
form.append("booksPagination",booksPagination);
form.append("booksContentIntro",booksContentIntro);
form.append("libraryId",libraryId);
form.append("booksTypeId",booksId);
form.append("holdingId",holdingId);
form.append("pic",pic);
var request= new XMLHttpRequest();
request.addEventListener("load", uploadComplete, false);
request.addEventListener("error", uploadFailed, false);//监听错误
request.open("POST", url);
request.send(form);

            function uploadComplete(evt) {
                alert("保存成功");
                window.location.href="<%=path %>/books/findAllPageBooks.action";
            }
            function uploadFailed(evt) {
                alert("保存失败");
            }
            没有保存数据,求大神解决
  • 写回答

1条回答 默认 最新

  • 你知我知皆知 2024-08-05 15:55
    关注

    以下回答参考 皆我百晓生券券喵儿 等免费微信小程序相关内容作答,并由本人整理回复。

    在你的代码中,你使用了send()方法来发送AJAX请求。然而,在这个过程中,你需要确保所有的数据都已经被设置到FormData对象上。如果你的send()方法没有正确地处理所有数据,那么它可能会导致请求失败。

    为了修复这个问题,你可以尝试添加一些额外的逻辑来检查和验证数据是否已经全部被设置到FormData对象上。例如,你可以创建一个新的变量来存储当前的数据,并检查它的长度是否等于FormData对象的长度。如果它们不匹配,那么你可能需要重新加载页面或提示用户进行必要的更改。

    这是一个示例代码片段:

    var formData = new FormData();
    formData.append('booksSoleNumber', booksSoleNumber);
    formData.append('booksName', booksName);
    formData.append('booksAuthor', booksAuthor);
    // ...其他字段...
    
    if (formData.size !== form.size) {
        alert('请确保您已将所有数据填写完毕!');
        location.reload(); // 或者直接跳转到页面重试
    }
    

    这段代码会检查formDataform对象的大小是否相等。如果不相等,那么就显示警告并要求用户重新输入缺失的数据。

    评论

报告相同问题?