我正在尝试使用 ajax 插入数据库。该表由 php 文件更新,但我总是在 ajax 中收到错误,并且页面无法重定向到结果页面。
我的 'POST' 函数,在 html 页面中是(它总是返回错误警报):
function enviaFormDetalhes() {
if (confirm("Tem a certeza que quer gravar os dados?")){
$.ajax( {
type: 'post',
url: 'php/f_propostas.php?tipo_acao=grava_nova_proposta&id_consulta='+getUrlVars()['id_consulta']+'&id_fornecedor='+getUrlVars()['id_fornecedor'],
data: $("#form_detalhes_proposta").serialize(),
success: function(data) {
alert("Dados gravados com sucesso");
location.href = 'f_editproposal.html?id_proposta='+data;
},
error: function(jqXHR, textStatus, errorThrown) {
console.log(textStatus, errorThrown);
}
} );
} else {
return false;
}
}
php 文件的部分是:(这很好用,如果我直接在浏览器中调用 i,它会返回 lastinsertID):
case "grava_nova_proposta":
$ID_Fornecedor = $_GET['id_fornecedor'];
$ID_Consulta = $_GET['id_consulta'];
$DataRececao = $_POST['dt_proposta'];
$RefProposta = $_POST['ref_proposta'];
$DtValidade = $_POST['dt_validade'];
$DtCriacao_loop = gmdate('Y-m-d');
try {
$sql = "INSERT INTO fornecedores_propostas (
id_fornecedor,
id_contacto,
id_consultaloop,
datarecepcao,
ref_proposta,
validadeproposta)
VALUES (?, ?, ?, ?, ?, ?)";
$q = $conn->prepare($sql);
$q->execute(array($ID_Fornecedor, $ID_Contacto, $ID_ConsultaLoop, $DataRececao, $RefProposta, $DtValidade));
$Ultimo_ID = $conn->lastInsertId('id_proposta');
echo $Ultimo_ID;
break;