问题描述
|
我刚刚发现(困难的方式)您无法对另一个域进行Ajax调用。
我已经阅读了有关iFrame(仅在IE6中有效)和跨域xml请求(仅从ie8开始有效)的信息
那么还有其他办法吗?
我基本上只需要将数据发送到另一台服务器,而不是接收它。
解决方法
听起来您需要使用服务器端代理脚本。即对(例如)PHP脚本的AJAX请求,它将为您发出HTTP / cURL请求。
, JSONP可能就是您所需要的。有很多例子。
这是一个不错的选择:
http://www.ibm.com/developerworks/library/wa-aj-jsonp1/
, 我应该澄清一下:我不想使用(大型)库,并且不能使用代理脚本。
基本上,我认为GET对我尝试做的事情“足够好”(跟踪展示次数)
因此,触发脚本后,它将创建一个iframe,将其隐藏,并将源网址设置为我的脚本+正确的GET参数。无需表格。
, 我将
<iframe>
和<form>
\的能力相结合,甚至可以发送到另一个域。
主文件:
<iframe id=ifr src=form.html style=\"display: none;\"></iframe>
<input id=send-me><input type=button onclick=\"senddata();\" value=Send>
<script>
function senddata()
{
var ifr = document.getElementById(\'ifr\'),f = ifr.contentWindow.document.forms[0];
f.elements.data.value = document.getElementById(\'send-me\').value;
f.submit();
}
</script>
form.html:
<form action=\"http://another.doma.in/\" method=post>
<input type=hidden name=data>
</form>
这将向另一个域发出POST HTTP请求,并将“ 4”的内容发送到该域。
请注意,这只是基本建议,如果要例如多次发送数据而不刷新,则需要进行调整。