Php Recaptcha w/AJAX:JSON数据的第1行第1列出现意外字符
我试图通过JQUERY/AJAX和PHP在表单中验证我的recaptcha。我就是不能让它工作。我一按下recaptcha键,就会出现以下错误:SyntaxError:JSON.parse:JSON数据第1行第1列的意外字符。这是我的密码: 这是我的HTML代码:Php Recaptcha w/AJAX:JSON数据的第1行第1列出现意外字符,php,json,ajax,syntax-error,recaptcha,Php,Json,Ajax,Syntax Error,Recaptcha,我试图通过JQUERY/AJAX和PHP在表单中验证我的recaptcha。我就是不能让它工作。我一按下recaptcha键,就会出现以下错误:SyntaxError:JSON.parse:JSON数据第1行第1列的意外字符。这是我的密码: 这是我的HTML代码: <!-- reCAPTCHA --> <div class="text-center" style="text-align: center;"> <div class="g-recaptcha m
<!-- reCAPTCHA -->
<div class="text-center" style="text-align: center;">
<div class="g-recaptcha mt-4" style="display: inline-block;"
data-sitekey="here_is_my_site_key">
</div>
</div>
<script type="text/javascript">
$(document).ready(function()
{
$('#submit').click(function(e) {
e.preventDefault();
var name = $("#name").val();
var email = $("#email").val();
var subject = $("#subject").val();
var message = $("#message").val();
$.ajax({
type: "POST",
url: "includes/mail.php",
dataType: "json",
data: {
name: name,
email: email,
subject: subject,
message: message,
captcha_response: grecaptcha.getResponse()
},
success: function(response)
{
if (response.code == 200) {
ShowAlert(response.msg_title, response.msg, response.msg_type);
$("#contact-form")[0].reset();
grecaptcha.reset();
} else {
ShowAlert(response.msg_title, response.msg, response.msg_type);
}
},
error: function(response) {
ShowAlert('Er is iets misgegaan.', 'Neem a.u.b. telefonisch contact op met Light Site over dit probleem.', 'danger');
}
});
});
});
这是我的AJAX代码:
<!-- reCAPTCHA -->
<div class="text-center" style="text-align: center;">
<div class="g-recaptcha mt-4" style="display: inline-block;"
data-sitekey="here_is_my_site_key">
</div>
</div>
<script type="text/javascript">
$(document).ready(function()
{
$('#submit').click(function(e) {
e.preventDefault();
var name = $("#name").val();
var email = $("#email").val();
var subject = $("#subject").val();
var message = $("#message").val();
$.ajax({
type: "POST",
url: "includes/mail.php",
dataType: "json",
data: {
name: name,
email: email,
subject: subject,
message: message,
captcha_response: grecaptcha.getResponse()
},
success: function(response)
{
if (response.code == 200) {
ShowAlert(response.msg_title, response.msg, response.msg_type);
$("#contact-form")[0].reset();
grecaptcha.reset();
} else {
ShowAlert(response.msg_title, response.msg, response.msg_type);
}
},
error: function(response) {
ShowAlert('Er is iets misgegaan.', 'Neem a.u.b. telefonisch contact op met Light Site over dit probleem.', 'danger');
}
});
});
});
$(文档).ready(函数()
{
$(“#提交”)。单击(函数(e){
e、 预防默认值();
var name=$(“#name”).val();
var email=$(“#email”).val();
var subject=$(“#subject”).val();
var message=$(“#message”).val();
$.ajax({
类型:“POST”,
url:“includes/mail.php”,
数据类型:“json”,
数据:{
姓名:姓名,,
电邮:电邮,,
主题:主题,,
讯息:讯息,,
验证码\响应:grecaptcha.getResponse()
},
成功:功能(响应)
{
如果(response.code==200){
ShowAlert(response.msg_title、response.msg、response.msg_type);
$(“#联系方式”)[0]。重置();
grecaptcha.reset();
}否则{
ShowAlert(response.msg_title、response.msg、response.msg_type);
}
},
错误:函数(响应){
ShowAlert(‘Er是iets misgegaan’,‘Neem a.u.b.telefonisch联系人op met Light Site over dit probleem’,‘danger’);
}
});
});
});
至少以正确的方式进行一次小的推送是很好的。AJAX处理程序明确地期望服务器返回JSON数据。服务器返回什么?检查浏览器的调试工具,特别是“网络”选项卡,以查看AJAX请求/响应。@david我从AJAX调用中删除了所有数据+我的PHP代码,但它仍然在控制台中给我同样的错误,这很奇怪。它是否与.htaccess有关?我在某个地方读到过。你是随机猜测还是检查浏览器的调试工具来观察服务器的响应?@david我从网络上真正能得到的唯一信息是错误、类型、状态等。它显示它在域google.com上发布了一篇文章,类型是JSON,因此是正确的。只是我发现很难找到我给出错误数据的地方,因为它没有显示任何行where@david我看到的是JSON。我发现了一个发生在我身上的完美例子。否则,我可能没有为您提供足够的信息:AJAX处理程序显式地期望服务器返回JSON数据。服务器返回什么?检查浏览器的调试工具,特别是“网络”选项卡,以查看AJAX请求/响应。@david我从AJAX调用中删除了所有数据+我的PHP代码,但它仍然在控制台中给我同样的错误,这很奇怪。它是否与.htaccess有关?我在某个地方读到过。你是随机猜测还是检查浏览器的调试工具来观察服务器的响应?@david我从网络上真正能得到的唯一信息是错误、类型、状态等。它显示它在域google.com上发布了一篇文章,类型是JSON,因此是正确的。只是我发现很难找到我给出错误数据的地方,因为它没有显示任何行where@david我看到的是JSON。我发现了一个发生在我身上的完美例子。否则,我可能无法为您提供足够的信息: