2015-04-09 9 views
0

Я отправил адрес электронной почты через сообщение ajax с javascript на php. Затем я искал базу данных в php, чтобы узнать, существует ли это письмо в базе данных. Как я могу отправить сообщение обратно в javascript/html, чтобы сказать, что это значение присутствовало?Ajax POST to PHP - Как мне ответить?

Это то, что я использовал, чтобы послать запрос:

function postEmail(){ 

     var checkEmail = "[email protected]"; 

     var dataString = 'checkEmail1='+ checkEmail; 

     // AJAX Code To Submit Form. 
     $.ajax({ 
     type: "POST", 
     url: "myfile.php", 
     data: dataString, 
     cache: false, 
     success: function(result){ 

     alert("Sent successfully"); 
     } 
     }); 
} 

, а затем в PHP:

$checkEmail2=$_POST['checkEmail1']; 

$results = mysql_query("select id from myTable where emailaddress='$checkEmail2' "); 
$row = mysql_num_rows($results); 

if ($row > 0) { 
echo "email already exists"; 
} else { 

if ($row == 0) { 
echo "email doesnt exist"; 
} 

} 

Не уверен, если я должен сделать запрос GET? Или если вы возвращаете значения или что-то еще. Благодарю.

(p.s, Im разработки гибридных приложений поэтому необходимо использовать JSON для отправки/получения от PHP)

ответ

1

Я думаю, вам нужно удалить второе условие! выход json или любой другой формат, который вы хотите. Я использую json_encode for arrays

попробовать:

$checkEmail2=$_POST['checkEmail1']; 

    $results = mysql_query("select id from myTable where emailaddress='$checkEmail2' "); 
$row = mysql_num_rows($results); 

if ($row > 0) { 
    echo "email already exists"; 
} else { 
    echo "email doesnt exist"; 
    } 

JAVASCRIPT

из вашей функции успеха, распечатать результат в консоль, чтобы увидеть выход

 console.log(result); 
+0

Благодарим за ответ, это было действительно полезно и решило мою проблему! – jord49

+0

Почему-то мои адреса электронной почты обрезаются? Вы знаете, почему это может быть? Если я возьму @ и. кажется, что он работает нормально? его возвращает его как [email protected] – jord49

+0

вы делаете echo checkEmail2? – mehany

1

Что вы эхо от PHP скрипт возвращается в функцию успеха в javascript в качестве параметра результата. Поэтому параметр результата будет содержать «электронная почта уже существует» или «письмо не существует»

+0

Почему-то мои адреса электронной почты обрезаются? Вы знаете, почему это может быть? Если я возьму @ и. кажется, что он работает нормально? его возвращение, как [email protected] – jord49

+0

Возможно, вам придется закодировать электронное письмо перед тем, как сделать вызов ajax. Поэтому вы должны написать: var dataString = 'checkEmail1 =' + encodeURIComponent (checkEmail) – cometfish