我有一个HTML代码,当我提交它时,它会属于post方法中的fetch javascript中,但是它正在更新页面并更改url,因此不应更新页面,也不会插入到数据库。
html:
<form id='formcoment' onsubmit="fetchComent(e)">
<h1>Deixar um comentario:</h1>
<textarea rows="5" name="comentario" id="comentariopessoa" placeholder="Seu comentario aqui"></textarea>
<input type="submit" name="Enviar">
</form>
js提取功能:
function fetchComent(e){
e.preventDefault();
var coment = document.getElementById('comentariopessoa').value;
alert(coment)
fetch('comentar.php', {method: 'Post', body: JSON.stringify({ comentario: coment})}).then(function(resp){
if (resp.status == 200){
res.text().then(function(t){
document.getElementbyId('form').innerHTML = t;
})
}
})}
php:
<?php
require_once('conecta.php');
require_once('banco.php');
session_start();
$main = new Main();
if (!empty($_POST['comentario']) && !empty($_SESSION['nomeuser']) && !empty($_SESSION['iduser'])){
$comentario = $_POST['comentario'];
$nome = $_SESSION['nomeuser'];
$faceid = intval($_SESSION['iduser']);
$main->comentario = $comentario;
$main->nome = $nome;
$main->faceid = $faceid;
$main->insereComentario($conexao);
//header('location:./index.php');
?>
<form id='formcoment' onsubmit="fetchComent()">
<h1>Deixar um comentario:</h1>
<textarea rows="5" name="comentario" id="comentariopessoa"
placeholder="Seu comentario aqui"></textarea>
<input type="submit" name="Enviar">
</form>
<p>Comentario feito com sucesso!</p>
<a href="index.php" onclick="logout()">Sair</a>
<?php
}else{
?>
<form id='formcoment' onsubmit="fetchComent()">
<h1>Deixar um comentario:</h1>
<textarea rows="5" name="comentario" id="comentariopessoa" placeholder="Seu comentario aqui"></textarea>
<input type="submit" name="Enviar">
</form>
<p>Preencha todos os campos</p>
<a href="index.php" onclick="logout()">Sair</a>
<?php
}
?>
网站将网址更新并将其更改为:.... com.br/mae2/?comentario=x+x+x+x+x+&Enviar=Enviar