JavaScript可以向任何域发送POST HTTP请求吗?
Can JavaScript do a POST HTTP request to any domain?
我知道可以从JavaScript加载来自任何域的任何类型的文档(不必能够窥视其内容),但它通常涉及常规GET
请求。POST
呢?
是否有可能使HTTP POST
请求从JavaScript到任何域名?(我对表单提交特别感兴趣。)
如果有,怎么做?
根据附近问题的一些答案,«JavaScript中的HTTP GET请求?»,您可以使用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
请求也不会飞,要么)。
相关文章:
- Meteor如何接收HTTP请求
- 在我的情况下,如何进行http请求
- 使用插件收听Firefox标签的http请求
- http请求使用html而不是json进行响应
- 在node-js路由中发出http请求
- 是否可以在没有HTTP请求或<输入>
- Acync JS HTTP请求通知请求
- PhantomJs在控制台中发出http请求时不会返回任何状态
- PHP处理来自一个页面的http请求,并将其显示在另一个页面上
- Firefox插件-如何发出http请求
- 验收测试主要针对传出的http请求
- 验证HTTP请求来自NFC标签上的点击
- 如何制作'http请求'在Node js中同步
- 为什么我在Cloud9中的http请求总是返回错误
- AngularJS Typeahead和$http请求限制
- HTTP请求使用cURL,但在浏览器中使用javascript时会得到CORS响应
- 如何使用Chrome扩展API获取网页的所有HTTP请求
- 将http请求中的数据传递给C#控制器
- 在初始化路由之前发送$http请求
- 从客户端捕获 HTTP 请求(包括 ajax)