Работаю на MVC фреймворке php. В админке через форму нужно записывать данные с помощью ajax запроса. Проблема заключается в том, что вместо переадресации на обработчика (метод actionCreateNews), с формы перенаправляет на /admin/add-news/post и в базу соответственно ничего не доходит.
add-news.php
<form action="post" id="sendNews" method="post" class="input-form">
<div class="tog">
<div class="input-item">
<input placeholder="Заголовок"
id="newsTitle" name="newsTitle" type="text">
<span class="bar"></span>
</div>
<div class="btn-preview">
<input type="submit" value="Превью">
</div>
</div>
<div class="tog center">
<div class="input-item">
<textarea class="news-text"
id="newsText" name="newsText" type="text" placeholder="Текст новости..."></textarea>
<span class="bar"></span>
</div>
<div class="btn-preview">
<input onclick="createNews()" type="submit" value="Опубликовать">
</div>
</div>
</form>
<script type="text/javascript">
function createNews()
{
$.ajax({
type: "POST",
url: "admin/create-news",
data: {
newsTitle: $("#newsTitle").value(),
newsText: $("#newsText").value()
},
});
}
</script>
AdminController.php
public function actionAddNews()
{
$css = array("/template/css/news.css", "/template/css/ecss.css");
require_once(ROOT."/views/admin/add-news.php");
return true;
}
public function actionCreateNews()
{
$db = Database::getConnection();
$newsTitle = $_POST['newsTitle'];
$newsText = $_POST['newsText'];
$newsDate = date('Y-m-d');
$prepared = $db->prepare("INSERT INTO news (news_title, news_date, news_text) VALUES (:newsTitle, :newsDate, :newsText)");
$prepared->bindParam(":newsTitle", $newsTitle, PDO::PARAM_STR);
$prepared->bindParam(":newsDate", $newsDate, PDO::PARAM_STR);
$prepared->bindParam(":newsText", $newsText, PDO::PARAM_STR);
$prepared->execute();
}
routes.php
return array(
"admin/add-news" => "admin/addnews",
"admin/create-news" => "admin/createnews"
);
Продвижение своими сайтами как стратегия роста и независимости