Задать вопрос
@DERUINO
frontend Разработчик

Почему не работает ajax?

Здравствуйте, не могу понять, почему не работает ajax скрипт на отправку данных из формы. У меня есть почти идентичный скрипт, который работает на другой статической странице в DLE. Но тут почему то ничего не происходит после отправки запроса. Если отправлять без ajax обычным POST, то все нормально работает. В ajax в "url" уже все что можно подставлял, и пустое значение, и /, и прямой путь к php.

Скрипт:
include ('config.php');

		    			$dle_name = $member_id['name'];
		    			$prize_button = $_POST['prize_button'];

		    			$sql = mysqli_query($link, "SELECT * FROM `dle_users` INNER JOIN `playtimev2` using(name) WHERE `name` = '$dle_name'");

		    			$result = mysqli_fetch_array($sql);

		    			if ($result) {
		    				$playtime = $result['playtime'];
		    			} else {
		    				$playtime = 0;
		    			}

		    			$playname = $result['name'];
		    			$id = $result['user_id'];
		    			$prize = $result['prize'];

		    			$check = 1;
		    			$bonus = 1000;

		    			if (isset($prize_button)) {
		    				if ($prize == 0 && $playtime >= 1000) {
		    					mysqli_query($link, "UPDATE `dle_users` SET `prize` = prize+$check, `money` = money+$bonus WHERE `name` = '$dle_name'");
		    				} else {

		    				}
		    			}


форма html:
<div class="online_prize">
									<form id="form">
										<input class="prize" type="submit" name="prize_button" value="Получить награду!">
									</form>
								</div>


ajax скрипт:
var playtime = <?php echo $playtime ?>;
							var prize = <?php echo $prize ?>;
							var calc = 1000 - playtime;

							$("#form").submit(function (e) {
						             e.preventDefault();
						              var form_data = $(this).serialize();
						              $.ajax({
						                  type: "POST",
						                  url: "",
						                  data: form_data,
						                  success: function () {
						                  	if (playtime >= 1000 && prize == 0) {
												alert('Бонус в размере 50 рублей успешно получен!');
											} else if (prize >= 1) {
												alert('Вы уже получили бонус!');
											} else if (playtime < 1000) {
												alert('Отыграйте еще ' + calc + ' минут!');
											}
						                  }
						              });
						    });
  • Вопрос задан
  • 85 просмотров
Подписаться 1 Простой Комментировать
Пригласить эксперта
Ответы на вопрос 1
@YashaWeb
Попробуйте добавить эти три параметра при отправке ajax
contentType: false,
cache: false,
processData: false,
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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