ajax を使用して別の Web サイトから情報を取得しようとするとクロスドメイン エラーが発生することは理解していますが、jQuery によれば、代わりに jsonp リクエストを使用できるはずです。レキャプチャを表示しようとするときに、これを達成する方法に困惑しています。問題は、プラグインを使用してこれを実現できないことです。これにより、はるかに簡単になります。
<script type="text/javascript" src="http://www.google.com/recaptcha/api/js/recaptcha_ajax.js"></script>
<script type="text/javascript">
function showRecaptcha() {
Recaptcha.create("// removed for example", 'captchadiv', {
tabindex: 1,
theme: "red",
callback: Recaptcha.focus_response_field
});
}
jQuery(document).ready(function(){
showRecaptcha('recaptcha_div');
jQuery('#contact-form').submit(function(){
var challenge = Recaptcha.get_challenge();
var response = Recaptcha.get_response();
var ip = "<?php print $_SERVER['REMOTE_ADDR'] ?>";
var private = "// removed for example";
var requestUrl = "http://www.google.com/recaptcha/api/verify?privatekey=" + private + "&remoteip=" + ip + "&challenge=" + challenge + "&response=" + response;
jQuery.getJSON(requestUrl, function(json) {
alert("what");
});
})
});
</script>
<form id="">
// Form stuff
</form>
<div id="captchadiv"></div>
<input type="submit" name="submit" id="form-submit">
これを Google サーバーに呼び出して、正しいコールバックを取得するにはどうすればよいですか。基本的に true または false を返します。悪名高い Access-Control-Allow-Login またはプレーン/テキストに関するエラーが表示されます。提案がある人はいますか?