【发布时间】:2012-04-17 16:18:29
【问题描述】:
我正忙着让 Ajax 在 JQuery AJAX 回调上自动刷新。我有一个评论框,消息在验证 reCaptcha 后立即发布,如果 reCaptcha 可以自动刷新以防有人想在之后立即添加另一条评论,那就太好了。这是我的返回函数:
$.post(url, formData, function(data) {
if (returnString.match(/^Error:/)) {
$("#interactionResults").html(data).show().fadeOut(6000);
}
else if (postNumber == 0) {
$('#newCommentDisplay').html(returnString).show();
$.post("http://www.google.com/recaptcha/api", "Recaptcha:reload()");
}
当我使用时:
$.post("http://www.google.com/recaptcha/api", "Recaptcha:reload()");
我收到一个错误:
XMLHttpRequest cannot load http://www.google.com/recaptcha/api. Origin http://localhost:8888 is not allowed by Access-Control-Allow-Origin.
很公平,所以我尝试用这条线来改变这条线:
$('#recaptcha_reload_btn').trigger('click');
仍然没有发生任何事情。有谁知道发生了什么?
【问题讨论】:
-
啊,“什么都没有发生”的字面意思是什么都没有,还是你还在谈论 Google 错误?
-
是的,我真的没什么意思。抱歉,我没有说得更清楚。
-
那么你需要展示你的点击处理程序。那里一定有问题。
-
@marue 它在一个 iframe 中,我认为这可能会让我绊倒。我想我可能需要将 JSON 对象发送回 Google。这是 iframe:
-
嗯,从 iframe 中捕获事件并不容易,我什至不确定是否可能。如果您在该 iframe 之外,则可以使用此帖子中的答案stackoverflow.com/questions/4249809/…
标签: javascript jquery ajax cors recaptcha