2015-04-30 4 views
0

Итак, я создаю систему забытых паролей, и я бы хотел, чтобы Invalid Password запустил скрипт php забытого пароля при его нажатии. Примечание: все файлы находятся в том же каталоге я до сих пор есть: В HTMLИспользование Ajax для вызова сценария php

<div id="forgotpass" href="" onclick="fpass()">forgot your password?</div> 

В моем файле Javascript:

function fpass() { 
console.log("fpass function"); 
    $.ajax({ 
     type: "POST", 
     url: 'forgotpass.php', 
     success: function(data){ 
      //data returned from php 
      //console.log(data); 
     } 
    }); 
} 

Внутри скрипта PHP У меня есть несколько заявлений эхо до сих пор чтобы проверить, действительно ли сценарий запускается.

Однако, когда я нажимаю "забыли пароль?" он запускает fpass() и предупреждает «fpass function», поэтому я знаю, что функция работает. Но я не думаю, что он выполняет php-скрипт. Я новичок в этом, поэтому кто-нибудь может объяснить мне, почему сценарий php не выполняется. Нужно ли мне что-то помещать внутри php-скрипта? Спасибо!

+1

Почему вы комментируете // предупреждение (данные); это даст вам более четкое представление, если оно будет завершено, а также использовать инструменты разработчиков (F12) для отслеживания трафика. –

+0

Если ваш PHP ожидает почтовый запрос, он может просто пропустить и ничего не возвращать. используйте console.log для отладки, а не предупреждения! –

+0

Раскройте оповещение и добавьте функцию 'error', которая совпадает с' success' (т. Е. Имеет предупреждение), чтобы вы могли видеть, что происходит. Кроме того, этот вызов Ajax бессмыслен без отправки параметров, поэтому добавьте некоторые. – developerwjk

ответ

0

При отправке каких-либо данных добавить

data : form.serialize() 

В PHP вы можете поймать ваши данные с

$_POST['data_name'] 

И это лучше convension для вашего кода.

 $.ajax({ 
      type : 'POST', 
      url  : 'forgotpass.php', 
      data : form.serialize() 
     }).done(function(data){ 
      if(data['success']){ 

      }else{ 

      } 
     }); 
     e.preventDefault(); 
+0

Будут ли данные 'быть данными в $ _POST [' data_name ']? –

+0

имя_данных - это поле имени вашего ввода. такие как , а имя data_name здесь. –

+0

Но что, если его div?

forgot your password?
Каким будет имя data_name? –

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