2014-12-13 3 views
0

Я пытаюсь отправить форму в файл PHP для вызова запроса и отправки данных формы в базу данных, однако я захватил этот код AJAX с помощью stackoverflow и скорректировал его, но кажется я буду получать предупреждающее сообщение, которое я должен получать, когда php-страница возвращает «успех» (насколько я понимаю), но сама страница PHP никогда не достигается, я знаю это, потому что я добавил там «умирают».Форма AJAX, представляющая работу, но не достигнув PHP-страницы

Так вот моя упрощенная форма:

<form role="form" id="promoProspectForm" type="post"> 
<div class="form-group"> 
        <label for="name">Full name *</label> 
        <input name="name" type="text" class="form-control" id="name" placeholder="Enter your name" required> 
        </div> 
        <div class="form-group"> 
        <label for="company">Company *</label> 
        <input name="company" type="text" class="form-control" id="company" placeholder="Enter your company's name" required> 
        </div> 
        <div class="form-group"> 
        <label for="url">Website URL *</label> 
        <input name="url" type="text" class="form-control" id="url" placeholder="Enter your website URL" required> 
        </div> 
        <div class="form-group"> 
        <label for="number">Contact number *</label> 
        <input name="number" type="text" class="form-control" id="number" placeholder="Enter your contact number" required> 
        </div> 
...Some more inputs 
</form> 

А вот мой AJAX код, который включен в страницу HTML в сноске

$(function() { 
    $('#promoProspectForm').on('submit', function(e) { 

     e.preventDefault(); 

     $.ajax({ 
      type: 'POST', 
      url: 'php/submit-prospect.php', 
      data: $('#promoProspectForm').serialize(), 
      success: function() { 
       alert('form was submitted'); 
      } 
     }); 
    }); 
}); 

А вот мой Submit-prospect.php файл:

<?php 
die("REACH"); 
    if(isset($_POST) && !empty($_POST)) 
    { 
     include_once(db.php); 
     $result = insert_prospect($_POST); 
     if(!$result) 
     { 
      return "fail"; 
     } 
     else 
     { 
      return "success"; 
     } 
    } 
?> 

Я также подозреваю, что у меня неправильный URL-адрес файла php, поэтому я попытался изменить его , в основном мой index.php находится в корне, что функция ajax находится в js/ajax.js, а файл php, который я пытаюсь достичь, находится в php/submit-перспективе.php, поэтому для его упрощения:

  • index.php
  • JS/ajax.js
  • PHP/отправить-prospect.php

Так что я попытался изменить URL в Аякса, чтобы указать на»../php/submit- перспектива.php ", но это также вернуло тот же результат.

Что я делаю неправильно? Благодарю.

+0

попробуйте использовать полный путь. –

+0

@suchit по-прежнему та же проблема. –

+0

после удаления e.preventDefault(); и видите, это не должно быть проблемой, но попробуйте. –

ответ

1
$(function() { 
    $('#promoProspectForm').on('submit', function(e) { 

     e.preventDefault(); 

     $.ajax({ 
      type: 'POST', 
      url: 'php/submit-prospect.php', 
      data: $('#promoProspectForm').serialize(), 
      success: function(data) { 
       alert(data); 
      } 
     }); 
return false; // difference 
    }); 
}); 

return false 

в в функции «представить» формы, чтобы отменить представить действие HTML код действий .. Я надеюсь, что это поможет.

+0

e.preventDefault(); должен делать то же самое и препятствовать отправке формы, однако я добавил return false; в конце, но я все равно получаю тот же результат –

+0

его код уже работает. –

+0

yep, его хотят вернуть данные из URL – HoangHieu

Смежные вопросы