Я пытаюсь отправить форму Aweber, для которой я использовал функцию отправки формы jquery. это работает вот так. 1) Индекс содержит обычную форму, в которой пользователь вводит имя, фамилию и адрес электронной почты, затем эти значения передаются через ajax запрос в aweber. php, я не вызывал никаких функций обратного вызова, поскольку они мне не нужны. Я просто хочу, чтобы значения были успешно переданы в aweber. php и все должно работать в фоновом режиме.
вот мой ajax код.
<script type="text/javascript">
$(document).ready(function() {
$('#loginform').submit(function(e) {
e.preventDefault();
$.ajax({
url: 'aweber.php',
headers: {
'Content-Type': 'application/x-www-form-urlencoded'
},
data: $(this).serialize(),
type: "POST",
});
});
});
</script>
и вот мой awebercode
<?php
header('Access-Control-Allow-Origin: *');
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<script src="https://code.jquery.com/jquery-3.3.1.js" integrity="sha256-2Kok7MbOyxpgUVvAk/HJ2jigOSYS2auK4Pfzbm7uH60=" crossorigin="anonymous"></script>
</head>
<body>
<!-- AWeber Web Form Generator 3.0.1 -->
<form method="post" id="aweberForm" class="af-form-wrapper" accept-charset="UTF-8" action="https://www.aweber.com/scripts/addlead.pl" >
<div style="display: none;">
<input type="hidden" name="meta_web_form_id" value="1725312779" />
<input type="hidden" name="meta_split_id" value="" />
<input type="hidden" name="listname" value="awlist5582443" />
<input type="hidden" name="redirect" value="" id="redirect_3384aafcdbf63332e0bba3f51f6c7fde" />
<input type="hidden" name="meta_redirect_onlist" value="https://gettingshredded.com" />
<input type="hidden" name="meta_adtracking" value="My_Web_Form" />
<input type="hidden" name="meta_message" value="1" />
<input type="hidden" name="meta_required" value="name (awf_first),name (awf_last),email" />
<input type="hidden" name="meta_tooltip" value="" />
</div>
<?php
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
try {
$mysqli = new mysqli("localhost", "root", "", "mydb");
$mysqli->set_charset("utf8mb4");
} catch(Exception $e) {
error_log($e->getMessage());
exit('Error connecting to database'); //Should be a message a typical user could understand
}
try
{
if(isset($_POST['email']))
{
$first_name = $_POST['first_name'];
$last_name = $_POST['last_name'];
$email = $_POST['email'];
/* echo json_encode(array('success' => 1));
} else {
echo json_encode(array('success' => 0));
*/
$stmt = $mysqli->prepare("INSERT INTO list (first_name,last_name,email) VALUES (?, ?,?)");
$stmt->bind_param("sss",$first_name,$last_name,$email);
$stmt->execute();
$stmt->close();
?>
<div id="af-form-1725312779" class="af-form"><div id="af-header-1725312779" class="af-header"><div class="bodyText"><p> </p></div></div>
<div id="af-body-1725312779" class="af-body af-standards">
<div class="af-element">
<label class="previewLabel" for="awf_field-106626599-first">First Name:</label>
<div class="af-textWrap">
<input id="awf_field-106626599-first" type="text" class="text" name="name (awf_first)" value="<?=$first_name;?>" onfocus=" if (this.value == '') { this.value = ''; }" onblur="if (this.value == '') { this.value='';} " tabindex="500" />
</div>
<div class="af-clear"></div>
</div>
<div class="af-element">
<label class="previewLabel" for="awf_field-106626599-last">Last Name:</label>
<div class="af-textWrap">
<input id="awf_field-106626599-last" class="text" type="text" name="name (awf_last)" value="<?=$last_name;?>" onfocus=" if (this.value == '') { this.value = ''; }" onblur="if (this.value == '') { this.value='';} " tabindex="501" />
</div>
<div class="af-clear"></div></div>
<div class="af-element">
<label class="previewLabel" for="awf_field-106626600">Email: </label>
<div class="af-textWrap"><input class="text" id="awf_field-106626600" type="text" name="email" value="<?=$email;?>" tabindex="502" onfocus=" if (this.value == '') { this.value = ''; }" onblur="if (this.value == '') { this.value='';} " />
</div><div class="af-clear"></div>
</div>
<div class="af-element buttonContainer">
</div>
<div class="af-element privacyPolicy" style="text-align: center"><p>We respect your <a title="Privacy Policy" href="https://www.aweber.com/permission.htm" target="_blank" rel="nofollow">email privacy</a></p>
<div class="af-clear"></div>
</div>
<div class="af-element poweredBy" style="text-align: center; font-size: 9px;"><p><a href="https://www.aweber.com" title="AWeber Email Marketing" target="_blank" rel="nofollow">Powered by AWeber Email Marketing</a></p>
<div class="af-clear"></div>
</div>
</div>
<div id="af-footer-1725312779" class="af-footer"><div class="bodyText"><p> </p></div></div>
</div>
<div style="display: none;"><img src="https://forms.aweber.com/form/displays.htm?id=jOxMrMyMTOzsnA==" alt="" /></div>
</form>
<script type="text/javascript">
<!--
(function() {
var IE = /*@cc_on!@*/false;
if (!IE) { return; }
if (document.compatMode && document.compatMode == 'BackCompat') {
if (document.getElementById("af-form-1725312779")) {
document.getElementById("af-form-1725312779").className = 'af-form af-quirksMode';
}
if (document.getElementById("af-body-1725312779")) {
document.getElementById("af-body-1725312779").className = "af-body inline af-quirksMode";
}
if (document.getElementById("af-header-1725312779")) {
document.getElementById("af-header-1725312779").className = "af-header af-quirksMode";
}
if (document.getElementById("af-footer-1725312779")) {
document.getElementById("af-footer-1725312779").className = "af-footer af-quirksMode";
}
}
})();
-->
</script>
<script type="text/javascript">document.getElementById('redirect_3384aafcdbf63332e0bba3f51f6c7fde').value = document.location;</script>
<!-- /AWeber Web Form Generator 3.0.1 -->
<?php
echo "
<script type='text/javascript'>
$(document).ready(function(){
$('#aweberForm').submit();
});
</script> ";
}
}
catch(Exception $e) {
error_log($e->getMessage());
}
?>
</body>
</html>
проблема в том, что sql операции выполняются успешно, но форма не отправляется. может ли кто-нибудь помочь мне с решением.
то, что я сделал, правильно или есть какая-то ошибка.