当前位置: 首页 > 面试题库 >

AngularJS的隐形Google reCaptcha

夏志国
2023-03-14
问题内容

我正在尝试在AngularJS网络应用程序中实现 不可见的
reCAPTCHA。根据他们的文档,我应该在登录表单的提交按钮上添加一个名为“数据回调”的属性。但是,我使用ng-
click将http请求的功能附加到按钮。那我应该在“数据回调”属性的值中输入什么呢?另外,如何知道recaptcha结果是否成功,并获取g-
recaptcha-response与我的http请求一起发送到服务器

https://developers.google.com/recaptcha/docs/invisible


问题答案:

有一个角度包装器,但是如果像我一样,您想使用原始的JavaScript库,这就是这样做的方法

数据回调需要一个Java脚本全局函数,因此在$ scope中使用函数将不起作用..我想到的解决方案是创建一个继承角度函数的全局函数。

所以你应该做:

$scope.login = function (token) {
  // your login logic
}
$window.login = $scope.login;

并且不要忘记将$ window作为依赖项注入到您的范围中。

Google不可见的reCaptcha会向您发送令牌,以便您可以验证服务器端的用户。

并在您的html中:

<button class="g-recaptcha"
  data-sitekey="your_google_key_here"
  data-callback="login"
  data-size>
Login
</button>

希望这可以帮助。



 类似资料:
  • ReCaptcha需要设置一个“data-callback”,我不知道如何将它与我已经存在的“.submit(function(event)”函数绑定。 我的“onsubmit()”技巧不起作用,它忽略了“Ajax”并刷新页面。 如何在我的“datas”变量中发送“g-recaptcha-response”值以将其发布到test.php?

  • 问题内容: 我正在尝试将隐式reCaptcha实施到网站上。但是我无法正常工作。这是我在做什么: 标头 form.php script.js contact.php 如果g-recaptcha-response不为null,则后端(contact.php)可以正常工作。但是我的问题是,当我尝试执行g-recaptcha- response(在var字段和test中)时,它总是空的。当我在表单上显示

  • 我使用的是Chart.js2.5.0版本,需要知道是否有任何方法可以隐藏分组堆叠条形图中每组的空条?图表数据集中的某些数据值可以为空。 这里是我想要的:组合图表类型(分组和堆叠) 小提琴:https://jsfidle.net/q_sabawoon/atlxlg7x/ 请帮帮忙。

  • 问题内容: 我正在尝试使用复选框和过滤器选项创建多选下拉列表。我试图隐藏列表,但我在外面单击却无法弄清楚。感谢你的帮助。 http://plnkr.co/edit/tw0hLz68O8ueWj7uZ78c 问题答案: 请注意,打开第二个弹出窗口(在具有多个选择的页面上)时,您的解决方案(问题中提供的Plunker)不会关闭其他框的弹出窗口。 通过单击一个框打开一个新的弹出窗口,单击事件将始终停止。

  • 问题内容: 对于特定的用例,我必须以“旧方式”提交单个表单。意思是,我使用带有action =“”的表单。响应已流式传输,因此我不会重新加载页面。我完全知道,典型的AngularJS应用程序不会以这种方式提交表单,但是到目前为止,我别无选择。 也就是说,我尝试从Angular填充一些隐藏字段: 请注意,显示的是正确的数据值。 该表格看起来像一个标准表格: 如果我点击了提交,则没有值发送到服务器。如

  • 对于一个特定的用例,我必须以“老方法”提交一个单一的表单。意思是,我使用带有action=“”的表单。响应是流式的,所以我不会重新加载页面。我完全知道一个典型的AngularJS应用程序不会以这种方式提交表单,但到目前为止我没有其他选择。 话虽如此,我试着从Angular填充一些隐藏的字段: 请注意,数据中的正确值已显示。 表单看起来像标准表单: 如果点击submit,则不会向服务器发送任何值。如