使用Ajax时,reCaptcha不会重新加载

时间:2013-08-08 13:01:48

标签: jquery ajax asp.net-mvc security recaptcha

我正在构建一个ASP.NET MCV应用程序,我有一个用户可以进行搜索的页面。我正在使用Ajax来获得结果。这是我的页面结构(简化):

// The part of my page that does not change
<div id = "searchForm">
    <input id="txWhat" type="text"/>
    <input id="txWhere" type="text"/>

    <input id="idBnSearch" type="submit" value="Search"/>
</div>

// The result container
<div "resultContainer">
    // Here is where I put the result, and the captcha
</div>

我想做的是每20次搜索操作添加一次reCaptcha。所以,我添加了一个包含验证码的局部视图,并且想法是,当搜索操作数达到20时,我显示Captcha局部视图,如果reCaptcha输入正确,那么,得到键入的结果a标准。

问题是,因为我正在使用Ajax,所以不会加载验证码(没有要输入的文本)。有什么想法吗?

提前致谢

1 个答案:

答案 0 :(得分:3)

我假设你熟悉jquery AJAX。

$.ajax(function(){
  beforeSend: function(){
     Recaptcha.create("YOUR_KEY", 'captchadiv', {
            tabindex: 1,
            theme: "clean",
            callback: Recaptcha.focus_response_field
     });
 }
})

用于演示http://www.google.com/recaptcha/demo/ajax