Как заставить ReCaptcha работать, используя FormData () Ajax, Atachment и ReCaptcha? - PullRequest
0 голосов
/ 09 октября 2018

Итак, есть контактная форма, которая позволяет пользователям подать заявку, загрузив свое резюме и отправив форму через ajax.Итак, из того, что я прочитал, мне придется использовать FormData () для передачи вложения в файл php.Это вызывает у меня проблемы с моей reCaptcha или не передает эти данные, или это неправильно.

Это мой код из моей reCaptcha, который отлично работает, но не передает вложение.

$(function() {
var form = $("#ajax-contact");
var formMessages = $("#form-messages");
$(form).submit(function(event) {
event.preventDefault();
var name = $("#name").val();
var captcha = grecaptcha.getResponse();
var dataString = "name="+ name + "&captcha=" +captcha;
$.ajax({
type: "POST",
url: "/assets/js/ajaxsubmit.php",
data: dataString

Итак, затем я преобразовал это для работы с моим вложением и написал это, потому что когда вычтобы передать вложение, вы должны использовать FormData () для вложения для переноса.

$(function() {
var form = $("#ajax-resume");
var formMessages = $("#form-apply");
$(form).submit(function(event) {
event.preventDefault();
var dataString = new FormData(); 
dataString.append( 'name', $('#name').val());
dataString.append( 'captcha', grecaptcha.getResponse());
dataString.append( 'resume', $('input[name=resume]')[0].files[0]);
$.ajax({
type: "POST",
url: "/assets/js/ajaxsubmitresume.php",
data: dataString,
processData: false,
contentType: false,
dataType:'json'

Насколько я понимаю, это должно работать точно так же, но мой PHP всегда возвращает false для этого оператора.

if(isset($_POST["captcha"]) && !empty($_POST["captcha"])){

Кажется, я не могу понять, чего мне не хватает. Я чувствую, что это что-то простое, но я много раз пытался обратиться за помощью.Если вам нужна дополнительная информация, я с удовольствием предоставлю ее.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...