草庐IT

javascript - php 消息警告 : Missing boundary in multipart/form-data POST data in Unknown on line 0

coder 2024-01-04 原文

这是我的javascript

function ajax_post(){
            // Create our XMLHttpRequest object
            var hr = new XMLHttpRequest();
            // Create some variables we need to send to our PHP file
            var url = "LiveUpdate.php";
            var sb = document.getElementById("LiveUpdate").value;
            var FirstName = document.getElementById("FirstName").value;
            var images = document.getElementById("images").value;

            var vars = "update="+sb+"&FirstName="+FirstName+"&images="+images;
            hr.open("POST", url, true);
            // Set content type header information for sending url encoded variables in the request
            hr.setRequestHeader("Content-type", "multipart/form-data");
            // Access the onreadystatechange event for the XMLHttpRequest object
            hr.onreadystatechange = function() {
                if(hr.readyState == 4 && hr.status == 200) {
                    var return_data = hr.responseText;
                    document.getElementById("message").innerHTML = return_data;
                }
            }
            // Send the data to PHP now... and wait for response to update the status div
            var formData = new FormData(document.querySelector("form"));
            hr.send(formData); // Actually execute the request // Actually execute the request
            document.getElementById("message").innerHTML = "processing...";
        }
            //show image before uploading
                var loadFile = function(event) {
                var output = document.getElementById('output');
                output.src = URL.createObjectURL(event.target.files[0]);
                };//end image

这是表格。 javascript和表单在同一个文件中。文件名为 sample.php

<form action="popup.php" method="post" id="myForm" name="myForm" enctype="multipart/form-data">
    <div id="message"></div>
    <img src="" id="output" />
    <input type="file" class="filestyle" data-buttonBefore="true" accept=".png, .jpg, .jpeg" onchange="loadFile(event)" name="images" id="images">
    <input class="form-control" type="text" placeholder="First Name" name="FirstName" id="FirstName" value="">
    <a href="#" class="btn btn-success" role="button" name="update" id="LiveUpdate"  onclick="javascript:ajax_post();">Update</a>
</form>

这段代码的思路是。我想在不刷新页面的情况下将 FirstName 和 Image 等基本信息实时插入数据库。我选择标签提交 ajax 的原因。所以页面 url Account.php?Edit=1 不会更改为 Account.php 因为如果它更改为 account.php 弹出编辑模式将关闭。这段代码中的问题是。我不知道如何修复错误 Warning: Missing boundary in multipart/form-data POST data in Unknown on line 0 谁能帮我解决这个问题。谢谢!

最佳答案

如果您没有手动指定任何内容,浏览器会设置正确的 header (包括内容类型中正确的多部分边界指示)。

所以您需要做的就是删除以下行:

 hr.setRequestHeader("Content-type", "multipart/form-data");

否则您将需要自己设置边界,正如 Ellias Van Ootegem 在 Uploading a file with XMLHttprequest - Missing boundary in multipart/form-data 中所建议的那样:

hr.setRequestHeader("Content-type","multipart/form-data; charset=utf-8; boundary=" + Math.random().toString().substr(2));

关于javascript - php 消息警告 : Missing boundary in multipart/form-data POST data in Unknown on line 0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40561738/

有关javascript - php 消息警告 : Missing boundary in multipart/form-data POST data in Unknown on line 0的更多相关文章

随机推荐