Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 21.10.2016, 23:55
Интересующийся
Отправить личное сообщение для Navka1 Посмотреть профиль Найти все сообщения от Navka1
 
Регистрация: 21.10.2016
Сообщений: 12

Отправка письма несколько раз
Здравствуйте, уважаемые!
Возникла следующая проблема.
Есть код в js:

function dist()
{
....
if (distance > radius)
		{									
			fullmarker[i]['marker'].setVisible(false);			
		}	
		else 
		{										
			fullmarker[i]['marker'].setVisible(true);
			//var markeremail ='title=' +JSON.stringify(fullmarker[i]['marker']['title']);
			markeremail.push(fullmarker[i]['marker']['title']);			
		}

Отправляю массив markeremail через ajax в php:

$("#formMain").submit(function()
	{ 
		var form = $(this); 
		var error = false; 
		form.find('input, textarea').each( function(){ 
			if ($(this).val() == '') { 
				alert('Зaпoлнитe пoлe "'+$(this).attr('placeholder')+'"!'); 
				error = true; 
			}
		});
		if (!error) 
		{ 
			var data = form.serialize();
			$.ajax
			({ 
			    type: 'POST', 
			    data: {data: data, markeremail: markeremail},
			    url: '../php/mail.php', 
			    beforeSend: function(data) 
			    { 
		            form.find('input[type="submit"]').attr('disabled', 'disabled'); 
		        },
				error: function()
				{
					alert ("Ошибка отправки ajax");
				},
				success: function(data)
				{        		
					alert(data);
		       		alert('Письмo oтврaвлeнo! Чeкaйтe пoчту! =)'); 
					//markeremail = [];
		       		
		        },
		       complete: function(data) 
			    { 
		            form.find('input[type="submit"]').prop('disabled', false); 
		        }		                  
			});
		}
		return false; 
	});

PHP отправляет массив на почту:
<?php
if ($_POST)
{						$cats = array_values($_POST['markeremail']); //убираем ключи "cat[]"
						$post_category = implode(", ", $cats); //преобразуем массив в строку значений
						echo $post_category;
						//$markerEN = json_encode($_POST['markeremail']);
						//$markerDEC = json_decode($markerEN);
						//var_dump($markerDEC);		
						//var_dump(json_decode(json_encode($_POST['markeremail']),true));	 					
						$to  = "katarina_98@mail.ru";
						$_POST['email']; 
						$subject = "Ваши сохраненные места!"; 
						$message = ' 
						<html> 
							<head> 
								<title>Ваши сохраненные места на сайте:</title> 
							</head> 
							<body> 
								<p>'
								.$post_category.
								'</p> 
							</body> 
						</html>'; 

						$headers  = "Content-type: text/html; charset=windows-1251 \r\n"; 
						$headers .= "From: katarina_98@mail.ru \r\n"; 						

						mail($to, $subject, $message, $headers);											
}
?>


Ух и много кода получилось. Но без него не объяснить всей ситуации.
Проблема в том, что при первой отправке письма все происходит корректно. Когда в этой же сессии отправляешь новые значения - отправляются сначала все письма, которые были до этого и только потом последние значения.
Вопрос: как избавиться от этого дублирования? Предполагаю, что необходимо очищать массив markeremail после каждой отправки письма.
Но когда я пыталась очищать массив (markeremail =[]) и в аяксе, и до, и после него - появлялась куча ошибок, но дублирование не прекращалось...
Помогите подсказкой или советом, уж больно сложная для меня задачка...
Спасибо заранее!
Ответить с цитированием
  #2 (permalink)  
Старый 22.10.2016, 13:32
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

А зачем нужен массив markeremail? Чего на странице вытворяется ведь не известно, кода нет, пояснений нет...
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Функция mail (отправка письма) TheDude Серверные языки и технологии 5 19.10.2014 21:18
отправка письма на почту (php) cyber Серверные языки и технологии 25 24.02.2014 12:37
Отправка письма по истечении определенного времени... логика Chekist Общие вопросы Javascript 1 18.11.2013 08:29
Обработчик click вызывается несколько раз или не всегда вызывается OlegJquery jQuery 2 21.07.2011 20:37
live click выполняется несколько раз hara jQuery 9 09.06.2010 10:58