для работы ajax, нужно на какой-либо элемент приделать обработчик с вызовом типа (юзается jquery):
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
var qw = $("#questions_wrapper"); var btn_send = $('#send_user_answer_pick'); if (btn_send.length > 0) { $(btn_send).click(function (e) { e.preventDefault(); if (qw.find('[type="radio"]:checked').length <= 0) { alert('Выберите вариант ответа'); return false; } var article_id = $(qw).find('[name="article_id"]').val(); var answer_id = $(qw).find('[type="radio"]:checked').val(); $.ajax({ url: '/ajax/answers.php', type: 'post', dataType: 'json', data: {'action': 'user_pic_answer', 'article_id': article_id, 'answer_id': answer_id}, success: function (data) { console.log(data); if (data.IS_OK == 'Y') { alert('OK msg'); } else { alert(data.msg); } }, error: function () { alert('send_ajax error'); } }); }); } |
в файле: /ajax/answers.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
<?php $action = isset($_POST['action']) ? trim($_POST['action']) : 'no-action'; $arResult = array( 'IS_OK' => 'N', 'msg' => 'no-message', 'post' => $_POST ); switch ($action) { case 'user_pic_answer': if ( ALL_IS_OK ) { $arResult['IS_OK'] = 'Y'; } else { $arResult['msg'] = 'some-type-error'; } break; default: break; } echo json_encode($arResult); ?> |
данной вариант удобен результирующим массивом, в котором можно передать как успешное значение, так и сообщение об ошибки.