我刚刚发现(困难的方法)你无法对另一个域进行ajax调用。
我读过iFrames(仅适用于IE6)和跨域xml请求(仅适用于ie8以后)
还有其他方法吗? 我基本上只需要发送数据到另一台服务器,而不是接收它。
答案 0 :(得分:2)
听起来你需要使用服务器端代理脚本。即对(例如)PHP脚本的AJAX请求,该脚本将为您发出HTTP / cURL请求。
答案 1 :(得分:0)
JSONP可能就是您所需要的。那里有很多例子。 这是一个很好的: http://www.ibm.com/developerworks/library/wa-aj-jsonp1/
答案 2 :(得分:0)
我应该澄清一下:我不想使用(大)库,也不能使用代理脚本。
基本上我认为GET对我想做的事情来说“足够好”(追踪印象)
因此,当脚本被触发时,它会创建一个iframe,隐藏它并将源url设置为我的脚本+正确的GET参数。不需要任何表格。
答案 3 :(得分:0)
我将<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请求,并向其发送<input id=send-me>
。
请注意,这只是基本提案,如果您想要多次发送数据而无需刷新,则需要进行调整。