XMLHttpRequest使用POST

时间:2018-05-17 10:36:59

标签: javascript

我正在我的网页上写一个基本功能,将数据发布到我的网络服务器上的另一个页面,但每当我使用此功能提交时,服务器报告已收到没有表格数据的GET请求。

不幸的是,当我把它整理出来时,我完全不知所措,因为我不知道造成它的原因。

function submit_function(event){
    event.preventDefault();
    var req = new XMLHttpRequest();

    var fd = new FormData();
    fd.append("username", "username");
    fd.append("password", "password");

    req.open("POST", "/auth/login", true);
    req.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
    req.send(fd);

    return false;
}

任何帮助或见解都会受到赞赏,现在已经很晚了,而且很有可能我错过了一些明显的东西。

问题是由表单提交干扰请求引起的,因为它是嵌套的。

document.getElementById("formid").onsubmit = function(e){ submit(e); }

1 个答案:

答案 0 :(得分:0)

通常的原因是您的代码是由表单提交触发的,并且您不会取消表单提交,因此浏览器会发送表单(作为GET,显然有' s no {表单元素上的{1}}并且阻止实际进行ajax调用(即使你的代码运行启动它,拆除页面以使用表单提交的结果替换它会阻止它变得很远) 。只需确保您阻止表单提交(type="POST")。