Никак не могу понять. После вставки комментария ставлю перезагрузку страницы, чтобы отобразился. Но при повторной перезагрузке браузер опять хочет отправить данные и вылезает окошко.
После того как принял комментарий и добавил в базу например, делай перенаправление на страницу с помощью header и location например
В принципе я это понимаю. Но, у меня что-то не получается. Проблема не такая страшная, ну зачем кому-то после добавления комментария перезагружать страницу просто так. Но блин, все равно не нравится мне это вылезающее окошко. Или может я не туда ставлю этот редирект. И так и сяк ставил, не выходит. Или нужно в ajax его делать? PHP: function addcommAction() { if (! empty($_POST['content'])) { $content = isset($_POST['content']) ? $_POST['content'] : null; $content = htmlspecialchars($content); $user_id = isset($_POST['user_id']) ? $_POST['user_id'] : null; $user_id = intval($user_id); $product_id = isset($_POST['product_id']) ? $_POST['product_id'] : null; $product_id = intval($product_id); $status = isset($_POST['status']) ? $_POST['status'] : null; $status = intval($status); } else { return false; } // Запись данных в БД $result = insertComment($content, $user_id, $product_id, $status); if ($result) { $resData['success'] = 1; $resData['message'] = 'Комментарий добавлен'; }else{ $resData['success'] = 0; $resData['message'] = 'Ошибка добавления комментария'; } echo json_encode($resData); return($resData); }
Ну да наверно. В ajax я не шарю, просто использовал готовый пример. На submit формы повесил такую функцию Код (Javascript): function newComment(id) { var content = $('#contentComm'+id).val(); var user_id = $('#userId').val(); var status = $('#statusCom').val(); var postData = {content: content, product_id: id, user_id: user_id, status: status}; $.ajax({ type: 'POST', async: false, url: "/product/addcomm/", data: postData, dataType: 'json', success: function(data) { alert(data['message']); if(data['success']) { $('#contentComm'+id).val(''); } } }); }