Я читал через множество Q & везде, и эти StackOverflow посты, кажется, наиболее тесно связанные с тем, что я пытаюсь сделать: 1) How we can save data on two servers using one sumit form? 2) How to call server side action method just before submitting form to 3rd party url?Как сохранить данные перед отправкой на сторонний сервер?
В принципе, я работаю с Aweber автоответчиком службы, и у меня были некоторые технические проблемы, когда лидеры, похоже, не записываются в Aweber, хотя я вижу, что в моем аналитическом программном обеспечении люди заполняют формы сообщениями электронной почты и нажимают кнопку отправки.
Итак, я надеялся, что смогу и захватить данные формы на моем сервере сначала в TXT-файле, прежде чем данные формы будут отправлены в Aweber.
(из моих исследований мне нужно Ajax, JQuery для достижения этой цели)
После различных сообщений и учебники, я придумал следующее, но, к сожалению, до сих пор не работает ...
Пожалуйста, дайте мне знаете, как исправить этот код, если это возможно. Спасибо большое!!!
Голова с JQuery:
<script type="text/javascript" src="http://code.jquery.com/jquery-latest.js"></script>
<script type="text/javascript">
$(document).ready(function() {
//if submit button is clicked
$('#submit').submit(function() {
//Get the data from all the fields
var email = $('input[name=email]');
var custom_sub1 = $('input[name=custom sub1]');
var custom_sub2 = $('input[name=custom sub2]');
var custom_sub3 = $('input[name=custom sub3]');
//organize the data properly
var data = 'email=' + email.val() + '&custom_sub1=' + custom_sub1.val() + '&custom_sub2='
+ custom_sub2.val() + '&custom_sub3=' + custom_sub3.val();
//start the ajax
$.ajax({
//this is the php file that processes the data and send mail
url: "http://mydomain.com/form_plus_email.php",
//method
type: 'POST',
//pass the data
data: data,
//Do not cache the page
cache: false,
success: function() {
}
});
//cancel the submit button default behaviours
return false;
});
});
</script>
</head>
выше, я не знаю, если "возвращение ложным;" вызывает проблемы
тела с формой:
<form method="post" action="http://www.aweber.com/scripts/addlead.pl">
<input type="text" name="email" value="Enter email" id="email">
<input value="xxxxxxxxxxxx" name="meta_web_form_id" type="hidden">
<input value="" name="meta_split_id" type="hidden">
<input value="xxxxxxxxxxxxx" name="listname" type="hidden">
<input value="http://domain.com/thankyoupage" name="redirect" type="hidden">
<input value="http://domain.com/thankyoupage" name="meta_redirect_onlist" type="hidden">
<input value="xxxxxxxxxxxxx" name="meta_adtracking" type="hidden">
<input value="1" name="meta_message" type="hidden">
<input value="email" name="meta_required" type="hidden">
<input value="1" name="meta_forward_vars" type="hidden">
<input value="" name="meta_tooltip" type="hidden">
<script type="text/javascript">
{
document.write('<input type="hidden" name="custom sub1" value="'+sub1+'">')
document.write('<input type="hidden" name="custom sub2" value="'+sub2+'">')
document.write('<input type="hidden" name="custom sub3" value="'+sub3+'">')
}
</script>
<input type="image" value="Submit Button" name="submit" src="image.png" id="submit" class="button1">
</form>
</body>
Для Aweber, важно все поля перечислены как скрытые и не скрытые быть переданы акции = "HTTP: //www.aweber .com/скрипты/addlead.pl».
Однако для себя, поскольку меня интересуют только 4 поля, я указываю все, что мне нужно, в секции jquery в теге head.
Я не знаю, почему код не работает ... Итак, Как я могу убедиться, что он сохранит на моем сервере сначала с ajax до данные формы передаются на сторонний URL-адрес? Прямо сейчас ...
<form method="post" action="http://www.aweber.com/scripts/addlead.pl">
выполняется и работает правильно ... но Аякс не сохраняют данные на все от того, что я могу сказать
Спасибо так много!
Разве вы не можете просто разместить его в два раза? У вас есть вызов $ .ajax, который делает одно сообщение, почему бы не добавить второй '$ .ajax' ниже того, который делает другой, в том же событии клика? Просто убедитесь, что ваша функция успеха не перенаправляется, пока оба не закончили. – Nanne
@Nanne: спасибо за подсказку Я попытался выполнить 2 вызова ajax с действием формы, установленным на «#». однако даже при этом никакой вызов ajax не выполнялся ... Как и в случае с текущим кодом, действие = "http://www.aweber.com/scripts/addlead.pl" будет выполняться, но по какой- Сообщение ajax, похоже, не функционирует ... – HarryPotter