2012-04-08 8 views
0

私は単純な投票システムに取り組んでいます。 2つのファイルが(ローカルに)一緒になっていると正常に動作します。bloggerでinnerhtmlが動作しません

しかし、ブロガーに公開すると結果を出力できません。 (投票をクリックして上のウェブホストに登録されますが、結果は単に表示されません!)

HERESに私のコード:それは働いていませんinnerHTMLではありません

<script type="text/javascript"> 
function getVote(int) 
{ 
if (window.XMLHttpRequest) 
    {// code for IE7+, Firefox, Chrome, Opera, Safari 
    xmlhttp=new XMLHttpRequest(); 
    } 
else 
    {// code for IE6, IE5 
    xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); 
    } 
xmlhttp.onreadystatechange=function() 
    { 
    if (xmlhttp.readyState==4 && xmlhttp.status==200) 
    { 
    document.getElementById("poll").innerHTML=xmlhttp.responseText; 
    } 
    } 
xmlhttp.open("GET","http://pacontest.eu.pn/poll_vote.php?vote="+int,true); 
xmlhttp.send(); 
} 
</script> 
<div id="poll"> 
<h3>Do you like this?</h3> 
<form> 
Yes: 
<input type="radio" name="vote" value="0" onclick="getVote(this.value)" /> 
No: 
<input type="radio" name="vote" value="1" onclick="getVote(this.value)" /> 
</form> 
</div> 

答えて

1

を。それはあなたの外部サイトへの呼び出しです。ドメイン外のリソースを取得するためにXMLHttpRequestを使用することはできません。クロスドメイン制限と呼ばれ、ブラウザの仕様に組み込まれています。

これは、クロスドメインではないため、PHPがGETというコードと同じドメインでホストされている場合に機能します。

ドメイン上のプロキシスクリプトを使用して制限を回避できます。ページはそのサーバーサイドスクリプトからの結果を要求し、そのスクリプトは実際の場所から結果を取得し、その結果をブラウザに返します。

これはBloggerのオプションではない可能性があるので、Bloggerはtheir own poll widgetを提供しています。

+0

ありがとうございました。言い換えれば、自分のウェブホスティングサービスを持っていると、この仕事ができますか? –