首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在oracle-jet中集成google-recaptcha

如何在oracle-jet中集成google-recaptcha
EN

Stack Overflow用户
提问于 2019-03-25 06:19:11
回答 1查看 123关注 0票数 0

我试图整合谷歌-但没有成功。

获取误差

feedback.js:39 Uncaught : grecaptcha.render不是一个函数

main.js 'googlerecaptcha':'https://www.google.com/recaptcha/api.js?onload=onloadCallback&render=explicit',

代码语言:javascript
复制
define(['ojs/ojcore', 'knockout', 'jquery', 'appController', 'ckeditor', 'googlerecaptcha', 'ojs/ojlabel',  
    'ojs/ojknockout', 'ojs/ojinputtext', 'ojs/ojformlayout'],  
        function (oj, ko, $, app, ckeditor, grecaptcha) {  
            /** 
             * The view model for the main content view template 
             */  
            function feedbackViewModel() {  
                var self = this;  
                // For small screens: labels on top  
                // For medium screens and up: labels inline  
                this.labelEdge = ko.computed(function () {  
                    return app.smScreen ? "top" : "start";  
                }, this);  



                onloadCallback = function (a) {  
                    grecaptcha.render('submit', {  
                        'sitekey': 'YOUR_API_KEY',  
                        'callback': self.onSubmit  
                    }, true);  
                };  


                this.handleActivated = function (info) {  
                };  
                self.onSubmit = function (token) {  
                    console.info("google recatpcha onSubmit", token)  
                    //do validation/application code using token  
                    var data = {secret: grecaptcha, response: recaptchaToken};  
                    $.post({  
                        url: "https://www.google.com/recaptcha/api/siteverify",  
                        form: data  
                    }).then(function (e) {  
                        //recaptcha service called...check result  
                        var resp = JSON.parse(e);  
                        if (resp.success == false) {  
                            console.info("recaptcha token outcome is false")  


                        } else {  
                            console.info("recaptcha token validated")  
                        }  
                    });  
                };  
            }  


            return feedbackViewModel;  
        });  
EN

回答 1

Stack Overflow用户

发布于 2019-03-29 10:17:47

您对src/js/path_mapping.json中的“googlerecaptcha”有映射吗?如果我转到https://www.google.com/recaptcha/api.js?onload=onloadCallback&render=explicit,我看不到它正在返回任何有效的对象。因此,最有可能的“grecaptcha”变量是未定义的。

reCaptcha + RequireJS

看起来,reCaptcha是一个必须执行的函数,而不是一个可以直接与之交互的对象。因此,您可能需要一种不同的方法,在这个线程中提到的东西。

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

https://stackoverflow.com/questions/55332200

复制
相关文章

相似问题

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