Javascript XMLHTTPREQUEST Post 在本地主机上发送 GET

Javascript XMLHTTPREQUEST Post sending GET on localhost

我正在尝试 POST 使用纯 javascript XMLHTTPREQUEST 库来形成数据。我的 javascript 函数首先获取所有 html 表单数据并对其进行清理,并在将其粘贴到 Object 之前检查其格式是否正确。
然后用正常的请求库发送JSON.stringify(Object)对的header。问题是我正在我的 Apache localhost 上测试它,它不会将数据发送到指定的 php 文件。它仅将数据连接到我的 Url header 作为 GET 请求。

        let reqObj = new XMLHttpRequest();
        var elem = document.getElementById(msgContan);
        //add event listener for request
        reqObj.addEventListener("progress", function(eve) {
            if (eve.lengthComputable) {
                //show progress on download using view
                jsView.elementShowMover(elem, strPos,endPos,moveMs);
                document.getElementById(msgElemnt).innerText = Math.round(eve.loaded/eve.total * 100) + "% Complete";
            }
        });
        reqObj.addEventListener("load", function(eve) {
            if (reqObj.status >= 200 && reqObj.status < 300) {
                //elem.style.display = "none";
                console.log('Completed');
            }
        });
        reqObj.addEventListener("error", function(eve) {
            document.getElementById(msgElemnt).innerText = "Failed to post data.";
        });
        reqObj.addEventListener("abort", function(eve) {
            document.getElementById(msgElemnt).innerText = "Data post was cancelled.";
        });
        //set timeout @ 30 seconds
        reqObj.timeout = 30000;
        //open network request
        reqObj.open('POST', 'localhost/myprojects/pages/app/web_app/getter.php');
        //set http-headers
        reqObj.setRequestHeader('Content-Type', 'application/json');
        //send the request
        reqObj.send(JSON.stringify(answ.jObj));

谁能告诉我为什么会发生这种情况以及如何在本地主机上测试 POST 请求?

@epascarello 给出了正确的诊断来解决我的问题。所以我发了。
连接到我的 URL 的数据和发送的常量 GET 请求,即使 POST 被请求,也是由于我

not cancelling the form submission.

取消表单提交取决于XmlHttpRequest对象的调用方式。在我的例子中,我使用绑定到 html <button>onclick 事件调用函数。

The button had no type attribute set which meant it defaulted to submit.

我将按钮属性更改为 type='button',这取消了表单提交。

我没有执行 php 文件或在集合 javascript load 事件函数中完成请求的第二个问题是由于 XmlHttpRequest .send 属性 的第二个参数未设置为相对路径。因此,我不正确的路径显示了

network request

404 Not FoundRequest URL:http://localhost/myprojects/pages/localhost/myprojects/pages/app/web_app/getter.php.
通过将我的绝对路径更改为相对路径,POST 请求已完成。