如何使用 GET 方法通过 XMLHttpRequest 传递 FormData

Jak*_* M. 5 html javascript forms ajax

当方法senderform为 POST 时,一切正常。但是,一旦我将方法更改为 GET,我就不会在服务器上收到任何内容。

function ajaxSubmit(destinationElement, senderform) {

    var xmlreq = new XMLHttpRequest();
    var params = new FormData(senderform);
    xmlreq.open(senderform.method, senderform.action, true);

    if (/\/content\.php$/.test(senderform.action))
        xmlreq.onreadystatechange = receiveTable;
    else xmlreq.onreadystatechange = receiveText;

    xmlreq.send(params);
}
Run Code Online (Sandbox Code Playgroud)

我知道我可以在 Action 地址的末尾手动附加键值对,但问题是我不知道哪个表单将与哪些字段一起传递。

如果可能的话,我更喜欢原生 javaScript。

如何使用 XMLHttpRequest 和来自 senderform 的键值对发送 GET 请求,该键值对指向表单元素(与它已经适用于 POST 请求的方式相同)?

Sid*_*dex 1

您确定不是 PHP 脚本的问题吗?我没有看到https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest#send()与 FormData 需要 POST 才能工作,但如果 PHP 脚本从 $POST 或其他东西获取信息(我的 PHP 生锈了),行为会有所不同。