我的验证码(来自谷歌的新版“无验证码”)在localhost上按预期工作,但在实际网站上,我在尝试验证它时收到错误500(我已在登录页面中找到它),抱歉没有提供关于500错误的更多信息,它只告诉我在jquery.min.js第16行是一个错误,并在verifyCallback函数的$ .ajax行中断。
这是我在客户端的代码:
var verifyCallback = function (result) {
$.ajax({
url: '/Account/ResponseCaptcha/',
type: 'POST',
traditional: true,
data: { captchaResponseClient: result },
dataType: 'json'
});
};
var widgetCaptcha;
var resp;
var onloadCallback = function () {
widgetCaptcha = grecaptcha.render('captcha', {
'sitekey': 'here goes my key, not shown for privacy',
'callback': verifyCallback,
'theme': 'light'
});
};
这里我的服务器端验证(在服务器上这个代码运行良好):
<HttpPost()>
Public Sub ResponseCaptcha(ByVal captchaResponseClient As String)
Dim webclient As New WebClient()
Dim response = webclient.DownloadString(
String.Format("https://www.google.com/recaptcha/api/siteverify?secret={0}&response={1}",
"my secret key..",
captchaResponseClient
))
Dim recaptchaResult As New RecaptchaResult
_responseCaptcha = JsonConvert.DeserializeObject(Of RecaptchaResult)(response).Success
End Sub
你能帮我一把吗?
更新:
解决了错误。这是在web.config文件下配置代理的问题。