首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在javascript不起作用的情况下从另一个页面获取内容

问在javascript不起作用的情况下从另一个页面获取内容
EN

Stack Overflow用户
提问于 2014-06-05 15:23:29
回答 2查看 74关注 0票数 4

我正在尝试执行captcha的客户端验证。为此,我需要从外部url获取响应。为此,我使用了下面的javascript代码。

代码语言:javascript
复制
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script type="text/javascript">
  function captcha_check()
  {
    var code = document.getElementById("captcha").value;
    alert(code);
    var url = "http://www.opencaptcha.com/validate.php?img='.$captcha_name.'.jpgx&ans="+code;
    alert(url);
    $.get(url,function(data,status){
      alert(data);
      if(data == "fail")
      {
        document.getElementById("captcha_error").style.display = "block";
        return false;
      }
      else
      {
        return true;
      }
    });
  }
</script>

但是代码不起作用。url和code正常发出警报。但是javascript停止执行jquery函数以从url获取内容,并跳过函数中的其余步骤。

请帮我找出我的代码出了什么问题。

提前感谢大家。

EN

回答 2

Stack Overflow用户

发布于 2014-06-05 15:31:41

除非响应接受来自所有域的请求,否则无法进行跨域ajax请求。此外,我不认为验证码的客户端验证可以称为“安全”。

更多信息:Cross-Origin Resource Sharing (CORS)

票数 2
EN

Stack Overflow用户

发布于 2014-06-05 15:38:32

对跨域ajax调用有安全限制。

查看http://en.wikipedia.org/wiki/Same_origin_policy

我在我的位置尝试了你的代码,chrome返回了:

XMLHttpRequest无法加载http://www.opencaptcha.com/validate.php?img=%27.$captcha_name.%27.jpgx&ans=hi.请求的资源上不存在“Access-Control-Allow-Origin”标头。因此不允许访问源'http://fiddle.jshell.net‘。

这就是你所期望的跨域调用,就像这样。

这就是你的代码失败的原因。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24054087

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档