我可以创建一个表单并使用它来对任何站点发出POST请求,事情是FORM方法不是异步的,我需要知道页面何时完成加载。我尝试使用带有表单的iframe来解决这个问题,但没有成功。
有什么想法吗?
修改
不幸的是我无法控制响应数据,它从XML,json变为简单文本。
答案 0 :(得分:11)
您可以捕获onload
的{{1}}事件。将您的iframe
定位到iframe并听取onload。您将无法访问iframe的内容,只能访问事件。
尝试这样的事情:
form
脚本块:
<iframe id='RS' name='RS' src='about:blank' onload='loaded()'></iframe>
<form action='wherever.php' target='RS' method='POST'>...</form>
答案 1 :(得分:2)
如果您想要发出跨域请求,您应该进行JSON调用或使用服务器端代理。服务器端代理很容易设置,不确定为什么人们会这么做。在其中设置规则,以便人们不能使用代理来请求其他事情。
答案 2 :(得分:1)
如果从跨域帖子返回的数据是JSON,那么您可以动态添加指向返回数据的URI的脚本标记。浏览器将加载该“脚本”,然后您可以从其他JavaScript访问。
答案 3 :(得分:0)
YUI3的IO对象提供了跨域请求,但是它使用嵌入页面的小型Flash控件来实现。
虽然有一些工作涉及来自JavaScript的安全跨域请求,但此时,您需要使用Flash或Silverlight等插件作为发出请求的桥梁。
答案 4 :(得分:-7)
您无法使用javascript跨域进行任何操作。你必须使用像PHP或asp之类的后端语言。