0

在我的博客页面上,我有一个向外部域发出 XMLHttpRequest 的函数。显然,由于跨域限制,它不起作用。

是否可以为博主设置服务器端代理?

我在想,或者我可以使用其他东西来代替XMLHttpRequest

对不起,我对网络编程语言真的很陌生,任何帮助将不胜感激,谢谢!

<div id="poll">

Do you like this?

<input type="radio" name="poll" id="poll1" checked>Yes, it`s great

<input type="radio" name="poll" id="poll2">Yes...

<input type="radio" name="poll" id="poll3">Not bad...

<input type="radio" name="poll" id="poll4">No!

<input type="button" value="Vote!" onClick="vote();"/>
</div>


<script type="text/javascript">

function vote(){

for(var i=1;i<=4;i++){
if(document.getElementById('poll' + i).checked){

<script type="text/javascript"
     src="http://server2.example.com/vote.php?vote=i&jsonp=parseResponse">

function Call({"vote": i});

</script>
}
}
document.getElementById('poll').innerHTML = parseResponse;
}

</script>
4

1 回答 1

1

您可以使用众所周知的JSONP,但前提是您调用的站点提供了一个 API,该 API 将以正确的格式返回响应。

否则,是的,通常可以在任何 Web 容器之上实现服务器端代理支持。这要求您可以直接访问服务器(即,如果您的站点托管在 blogger.com 上,它将无法工作),具体细节将根据您的实现语言和 Web 容器而有所不同。但是,高级流程非常简单:

  1. /proxyRequest?url=http://www.crossdomain.com/someNeatThing客户端使用标准 XMLHttpRequest 用类似的请求回调服务器。
  2. 服务器触发自己对“http://www.crossdomain.com/someNeatThing”的请求,获取响应,并将其作为proxyRequest调用结果通过管道传回客户端。
于 2012-04-12T04:31:43.117 回答