使用javascript从另一个页面获取内容不起作用
我试图对使用javascript从另一个页面获取内容不起作用,javascript,jquery,validation,Javascript,Jquery,Validation,我试图对captcha执行客户端验证。为此,我需要从外部url获取响应。我使用了下面的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.
captcha
执行客户端验证。为此,我需要从外部url
获取响应。我使用了下面的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>
函数验证码检查()
{
var代码=document.getElementById(“captcha”).value;
警报(代码);
变量url=”http://www.opencaptcha.com/validate.php?img=“.$captcha_name.”.jpgx&ans=“+code;
警报(url);
$.get(url、函数(数据、状态){
警报(数据);
如果(数据==“失败”)
{
document.getElementById(“验证码错误”).style.display=“块”;
返回false;
}
其他的
{
返回true;
}
});
}
但代码不起作用。url
和code
正在正确发出警报。但是javascript
停止执行jquery函数从url
获取内容,并跳过函数中的其余步骤
请帮我找出我的代码有什么问题
提前感谢大家。除非响应接受来自所有域的请求,否则无法完成跨域ajax请求。 此外,我认为验证码的客户端验证不能称为“安全” 更多信息:
跨域ajax调用有安全限制 退房 我在我的位置尝试了一个你的代码,chrome返回: XMLHttpRequest无法加载。$captcha\U名称。%27.jpgx&ans=hi。请求的资源上不存在“Access Control Allow Origin”标头。因此,不允许访问源“” 这就是您对这样的跨域调用的期望
这就是代码失败的原因 控制台中是否报告了任何错误?否。javascript控制台上没有显示任何错误。此链接将返回fail或success。用javascript在我的页面上是否有这样的内容:(就Javascript而言,我对此建议不多。一种方法是使用服务器端组件(如Java Servlet)进行调用,然后通过ajax调用将结果返回给Javascript。由于Servlet将驻留在您的域中,因此ajax调用将成功,而服务器端代码不需要他有相同的限制。此链接将返回fail或success。是否仍然可以使用javascript在我的页面上获取该链接。:(否,具有正常页面权限。仅当您具有特定的扩展权限时(您在chrome扩展中运行代码).但正如我所说的…这是不安全的…就像根本没有验证码一样。Javascript不是建立安全性的安全方法。