0

ajaxを使用してデータベースに挿入しようとしています。表はphpファイルで更新するのですが、いつもajaxでエラーが出て結果ページにリダイレクトできませんでした。

HTMLページの私の「POST」関数は次のとおりです(常にエラーアラートを返します):

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 に答える