[英]Asynchronous cross-domain POST request via JavaScript?
我可以创建一个表单并使用它来向任何站点发出POST请求,事情是FORM方法不是异步的,我需要知道页面何时完成加载。 我尝试使用带有表单的iframe来解决这个问题,但没有成功。
有任何想法吗?
编辑
遗憾的是,我无法控制响应数据,它从XML,json到简单文本都有所不同。
您可以捕获iframe
的onload
事件。 将form
到iframe并监听onload。 您将无法访问iframe的内容,只是事件。
尝试这样的事情:
<iframe id='RS' name='RS' src='about:blank' onload='loaded()'></iframe>
<form action='wherever.php' target='RS' method='POST'>...</form>
脚本块:
var loadComplete = 0
function loaded() {
//avoid first onload
if(loadComplete==0) {
loadComplete=1
return()
}
alert("form has loaded")
}
如果您想要发出跨域请求,您应该进行JSON调用或使用服务器端代理。 服务器端代理很容易设置,不确定为什么人们会这么做。 在其中设置规则,以便人们不能使用代理来请求其他事情。
如果从跨域帖子返回的数据是JSON,则可以动态添加指向返回数据的URI的脚本标记。 浏览器将加载该“脚本”,然后您可以从其他JavaScript访问。
你不能使用javascript跨域进行任何操作。 你必须使用像PHP或asp之类的后端语言。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.