0

我正在尝试使用 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;
4

1 回答 1

0

尝试

url: 'php/f_propostas.php,
data: tipo_acao=grava_nova_proposta&id_consulta='+getUrlVars()['id_consulta']+'&id_fornecedor='+getUrlVars()['id_fornecedor']+$("#form_detalhes_proposta").serialize(),
于 2013-05-06T10:50:58.653 回答