【发布时间】:2016-06-24 11:31:48
【问题描述】:
senderform 的 Method 为 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);
}
我知道我可以在 Action 地址末尾 manually append key-value pairs,但问题是我不知道哪个表单将通过哪些字段传递。
如果可能的话,我更喜欢原生 JavaScript。
如何使用 XMLHttpRequest 发送一个 GET 请求,该请求带有来自 senderform 的键值对,它指向表单元素(与它已经用于 POST 请求的方式相同)?
【问题讨论】:
-
问题是什么?
-
如何使用 XMLHttpRequest 和来自
senderform的键值对发送 GET 请求,该键值对指向表单元素(与它已经用于 POST 请求的方式相同)? -
获取!= 发布。它们是完全不同的机制。您不能像使用 POST 一样使用 GET。要使用 GET 代替 POST,您需要解析表单,收集名称:值对,将它们添加到查询字符串中 - 就像您提供的链接一样。
-
所以当它是 GET 时将参数附加到 URL
-
@whipdancer,我知道它们是不同的,我对在地址末尾附加键值对的一些自动方式感兴趣。但可能没有,所以我会尝试为此编写脚本,我只是不想编写可能已经存在的东西。
标签: javascript html ajax forms