jQuery GET覆盖POST

时间:2015-07-17 12:21:45

标签: php jquery mysql

我有一个行为不正确的简单jQuery脚本。我究竟做错了什么?想法是用户在文本框中输入值,然后单击按钮。然后jQuery使用POST将值发送到PHP文件。然后PHP文件运行一个简单的SQL查询并给出响应。然后使用jQuery .load刷新包含原始php的div。

使用Chrome的工具,我注意到POST的响应非常完美。但是,它会被没有数据的GET覆盖。

的jQuery

$("#GOtest").click(function() {
var customer = $("#customer").val();
if (customer == '') {
  $('#alert_formula_save_failed').show();
}
else {
  $.post("../assets/forms/formulations/set_session.php", {
    customer: customer,

    }, function(data) {
      $('#alert_formula_save_success').show();
      $('#dynamic').load('../assets/forms/formulations/set_session.php');
      $('#alert_formula_save_failed').hide();
      setTimeout(function() { $('#alert_formula_save_success').fadeOut('fast'); }, 3000);
  });
}
});

PHP

 <?php    
$customer = null;
$customer = 'Test' ;
$customer2 = $_POST['customer'] ;

.. db connection bits ;

try 
{
    $PDO =  new PDO( "mysql:host=".$host.";"."dbname=".$dbname, $user, $pass);  
}
catch(PDOException $e) 
{
    die($e->getMessage());  
}
    $PDO->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    $sql = "SELECT * FROM db_customers where customer = '$customer' ";
    $stmt = $PDO->prepare($sql);
    $stmt->execute(array($id));
    $data = $stmt->fetch(PDO::FETCH_ASSOC);
    $PDO = null;

    $iscurrent  = $data['iscurrent'];

    echo '<br>' ;
    echo 'Response 1-' ;
    echo $iscurrent;
    echo '<br>' ;
    echo 'Response 2-' ;
    echo $customer2 ;

?>

HTML

<form id="testform" name="testform" method="POST"> 
    <button type="button" name="GOtest" id="GOtest" class="btn btn-info">
        <i class="fa fa-frown-o"></i> 
        SET SESSION
    </button>

这个想法是'响应1'只是回应预定义的值。响应2应该只显示在文本输入框中输入的内容..但GET会覆盖所有内容。

1 个答案:

答案 0 :(得分:3)

&#34;问题&#34;是这一行:

$('#dynamic').load('../assets/forms/formulations/set_session.php');

默认情况下使用GET。

尝试使用它代替:

$('#dynamic').html(data);