私は使用するように登録されているサイトのトップサイトに「投票」APIを作成しました。XMLHttpRequestクロスドメインスローエラー
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<script type="text/javascript">
var id = 1;
$(document).ready(function(){
$.getJSON("http://mysite.com/index.php?page=vote", { id: id, hasVoted: 'unknown' }, function(data) {
if(data == 2) {
window.location.replace("http://mysite.com/index.php?page=vote&id=" + id);
}
});
});
</script>
基本的に、私はユーザーのIDを与えてから、そのコードをファイルに入れます。 サイトは番号を返し、その上でユーザーをリダイレクトするかどうかを投票する。
ので、そのコードローカルホスト上のテストでは、このエラーがスローされます。私はこのコードを使用する場合
XMLHttpRequest cannot load http://mysite.com/index.php?page=vote&id=1&hasVoted=unknown. Origin http://localhost is not allowed by Access-Control-Allow-Origin.
:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<script type="text/javascript">
var id = 1;
$(document).ready(function(){
$.getJSON("http://mysite.com/index.php?page=vote&callback=?", { id: id, hasVoted: 'unknown' }, function(data) {
if(data == 2) {
window.location.replace("http://mysite.com/index.php?page=vote&id=" + id);
}
});
});
</script>
をそれからそれは何もしません。それはエラーを投げません。 (データが2の場合(URLを直接チェックすると、2を返します))。
少し試してみたらalert(data);
まだ何も投げません。
私はこれについて完全に無知です。何かが助けになるでしょう。
JSONPは魔法ではありません。 JSONPは、リモートURLがサポートしている場合にのみ使用できます。 – SLaks
私が持っていた他の問題を考え出したので編集した質問。 –
@SLaksリモートURLはどのようにそれをサポートしますか?編集:とにかく、ありがとう、ありがとう。 –