2016-01-05 3 views
0

У меня есть это поле ввода.Ответ на вызов AJAX не показывает ничего

<input type="email" name="email" required/> 

Когда кнопка отправки нажата, она переходит в:

$(".store_email").click(function() 
{ 
    var ajax_url_store_email = "store_email.php"; 
    var value= document.getElementsByName('email')[0].value; 


    $.post(ajax_url_store_email, {act:"Subscribe", value:value}, function(e){ 
     console.log(e); 

    }); 
}); 

И вызов посылается:

$email=$_POST["value"]; 
$verify= $link->query(" INSERT INTO `Subscribers_email`(`email`) VALUES ('$email') "); 
     if($verify==true) 
     { 
      return json_encode("Success!"); 
     } 
     else 
     { 
     return json_encode("Something went wrong!"); 
     } 

Все работает нормально, но этот вызов ничего не возвращает , Я имею в виду, что console.log(e); ничего не печатает, что может быть причиной?

+0

пожалуйста, проверьте Аякса –

+0

попробовать эхо и выход вместо возвращения в PHP кода – Chintan

ответ

1

плюс другие ответы, которые вы должны установить JSon DATATYPE в функции $ .post, если вы хотите, чтобы вернуть значения в формате JSON:

$.post(ajax_url_store_email, {act:"Subscribe", value:value}, function(e){ 
    console.log(e); 
},'json'); 
1

Чтобы вернуть ответ на Ajax запроса, вы должны echo не return:

if($verify==true){ 
    echo json_encode("Success!"); 
} 
else{ 
    echo json_encode("Something went wrong!"); 
} 
1

попробовать эхо и выход вместо возврата

$verify= $link->query(" INSERT INTO `Subscribers_email`(`email`) VALUES ('$email') "); 
     if($verify==true) 
     { 
      echo json_encode("Success!"); 
     } 
     else 
     { 
     echo json_encode("Something went wrong!"); 
     } 
     exit; 
1

Вы должны использовать PHP print или echo Функция вместо возврата.

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