2016-08-14 2 views
0

Когда я нажимаю кнопку, она обрабатывается ajax, а затем публикуется на странице PHP. текущая проблема заключается в том, что PHP не может распознать имя POST с лицевой стороны. Он продолжает бросать мне другую часть, которая «НЕ ОК». Ниже приведен фрагмент.Проверьте, что такое имя POST

PHP часть

if (isset($_POST['btn-agree'])){ echo "OK<br />"; } else { echo "NOT OK<br />"; } 

END PHP часть

$(function() { 
 
$("#btn-agree").click(function(e){ 
 
\t e.preventDefault(); 
 
$.ajax({ 
 
    type: "POST", 
 
    url: "postAgreement.php", 
 
    success: function(msg){ 
 
     //do something 
 
    }, 
 
    error: function(){ 
 
     //do something 
 
    } 
 
}); 
 
}); 
 
});
<form id="agree-form" action="/" method="post" role="form"> 
 
<input type="submit" name="btn-agree" id="btn-agree" value="Agree"> 
 
</form>

ответ

0

Вы не указываете данные для отправки на сервер. Используйте параметр data и форму serialize.

$(function() { 
$("#btn-agree").click(function(e){ 
    e.preventDefault(); 
$.ajax({ 
    type: "POST", 
    url: "postAgreement.php", 
    data: $('#agree-form').serialize(), 
    success: function(msg){ 
     //do something 
    }, 
    error: function(){ 
     //do something 
    } 
}); 
}); 
}); 

EDIT: Похоже .serialize() не включает в себя тип submit ввода. Чтобы проверить способ запроса на сценарий, вы можете использовать $_SERVER['REQUEST_METHOD'] и проверить, что он равен "POST". Вы также можете установить для параметра data значение "btn-agree=Agree".

+0

в postAgreement.php, я получаю его как POST, это нормально? –

+0

Да, он будет получен как POST. – bnahin

+0

Но он все еще не работает после Iadd части данных. Он по-прежнему показывает «НЕ ОК». Возможно, это

? –

0

вы забыли параметр «данные» на вашем ajax. на isset ($ _ POST ['btn-agree']) всегда будет ложным, потому что $ _POST ['btn-agree'] не определяется или не задается.

проверить этот код или увидеть образец на http://api.jquery.com/jquery.ajax/:

$ .ajax ({ типа: "POST", данные: {БТН-согласен:. $ ('# БТН-согласен') Вал() }, URL: "postAgreement.php", успех: функция (МСГ) {// делать что-то }, ошибка: функция() {// делать что-то } });

+0

Это тоже не работает :( –

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