我知道可以从JavaScript加载来自任何域的任何类型的文档(无需查看其内容),但它通常涉及常规GET
请求。那么POST
呢?
是否可以从JavaScript向任何域名发出HTTP POST
请求? (我对提交表单特别感兴趣。)
若然,怎么样?
答案 0 :(得分:0)
根据附近问题«HTTP GET request in JavaScript?»的一些答案,您可以使用XMLHttpRequest
,因为根据文档,也支持POST
方法。
http://www.w3.org/TR/XMLHttpRequest/
https://developer.mozilla.org/en-US/docs/DOM/XMLHttpRequest
上述w3.org文档中的示例代码:
function log(message) {
var client = new XMLHttpRequest();
client.open("POST", "/log");
client.setRequestHeader("Content-Type", "text/plain;charset=UTF-8");
client.send(message);
}
但是,为了使POST
次请求与您的网站无关(而不是"/log"
,完整的http
或https
指定了URL,根据https://developer.mozilla.org/en-US/docs/HTTP/Access_control_CORS#Simple_requests,可能必须在目标服务器上支持和启用跨源资源共享。
因此,似乎,至少通过XMLHttpRequest
,您无法通过POST
请求进行表单提交(实际上,即使GET
请求看起来也不会飞行)