Odinokun
@Odinokun

Почему форма не работает на сервере, а локально все ОК?

Добрый день.
Есть форма обратной связи (на основе PHPmailer).
Все работало нормально, пока не понадобилось сделать так, что бы форма отправлялась без перезагрузки страницы.
Я воспользовался Ajax. Но возникла проблема.
На Openserver все работает безукоризненно, но как только я заливаю сайт на сервер при отправке письма происходит ошибка (скрин из DeveloperTools прикрепляю ниже).
Файл который не находится (судя по 404 в ошибке) - есть, и путь к нему задан правильно.
В какую сторону копать, в чем может быть ошибка?

fc9136be7da4406a953f4efdb4f2b3e0.jpg

$(function(){
	$('#contact').submit(function(){
			var data = $('#contact').serialize();
			$.ajax({
				url: '../mail_form/settings_mail.php',
				type: 'POST',
				data: data,
				success: function(res){
					if( res == 1 ){
						$('#contact').find('input:not(#submit), select, textarea').val('');
						$('#submit').next().empty();
					}else{
						$('#submit').next().empty();
						alert('Ошибка отправки');
					}
				},
			});
		return false;
	});
});


UPD. Ларчик открывался просто.
В JS коде в url пути не надо было подниматься на папку вверх.
  • Вопрос задан
  • 967 просмотров
Пригласить эксперта
Ответы на вопрос 1
maximw
@maximw
Еще проверьте регистр букв в имени файла.
Например, первая буква может быть заглавной.
Если вы разрабатываете под Windows (Openserver - он под винду), то различие в регистре в именах файлов значения не имеет.
А на хостинге скорее всего Linix, в котором регистр имеет значение. settings_mail.php и Settings_mail.php - разные файлы.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы