使用POST通过POST发送数据时出现错误

时间:2019-01-26 17:35:01

标签: javascript forms post

我正在尝试通过Javascript中的帖子发送数据,但是我对此并不陌生。 我留下了代码,我想知道我做错了。

首先,只要输入代码和日期,我就有一个文件在mysql数据库中调用查询。

public function listusuerdate($date,$name) {
    try {
        $sql= "select * from markers where name_user = :p_user AND date_user = :p_dat";

        $statement = $this->dblink->prepare($sql);
        $statement->bindParam(":p_user", $name);
        $statement->bindParam(":p_dat", $date);
        $statement->execute();
        $result= $statement->fetchAll(PDO::FETCH_ASSOC);
        return $result;
    } catch (Exception $exc) {
        throw $exc;
    }
}

我还有另一个文件,他在其中通过POST通过以下方式传递变量:

<?php
    require_once '../negocio/ShowMap.clase.php';

    $date= $_POST["p_dat"];
    $name= $_POST["p_user"];

    $objUser = new ShowMap();
    try {
        $result = $objUser ->listusuerdate($date,$name);
    } catch (Exception $exc) {
        header("HTTP/1.1 500");
        echo $exc->getMessage();
    }
?>

当我使用Postman时效果很好

enter image description here

这是我遇到的问题,我创建了一个发送日期和用户名的表单,如下所示:

<form>
    <div class="modal-content">
        <div class="modal-header">
            <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
            <h4 class="modal-title" id="myModalLabel">Título de la ventana</h4>
        </div>
        <div class="modal-body">
            <div class="row">
                <div class="col-xs-2">
                    <p>Code<input type="text" name="txtcode" id="txtcode" class="form-control input-sm text-center text-bold" placeholder="" readonly=""></p>
                </div>
                <div class="col-xs-4">
                    <p>Name <font color = "red">*</font>
                    <input type="text" name="txtname" id="txtname" class="form-control input-sm" placeholder="" required=""><p>
                </div>  
                <div class="col-xs-3">
                    <p>Date
                    <input type="date" class="form-control input-sm" id="txtdate" name="txtdate" /></p>
                </div> 
                <div class="modal-footer">

                    <a class="btn btn-primary btn-lg" value='Click' href='javascript:;' onclick="toshow();" role="button"></a>
                </div>
            </div>
        </div>
    </div>
</form>

最后,我尝试通过javascript通过以下方式发送日期和用户名:

function toshow(){
    var name = document.getElementById("txtname").value;
    var date = document.getElementById("txtdate").value;

    $.post(
        "../controlador/ruta.controlador.php",
        {
            p_user : name,
            p_dat : date
        }
    ).done(function(){                
        alert( "exit" );
    }).fail(function(error){
        alert(error.responseText);
    });
};

我无法使其工作

1 个答案:

答案 0 :(得分:-1)

您需要编写js函数正确检查其语法

function toshow(){
var name = document.getElementById("txtname").value;
var date = document.getElementById("txtdate").value;

$.ajax(
    method:'POST',                          // here you can spasify post or get
    url:"../controlador/ruta.controlador.php",
    data : {
        p_user : name,
        p_dat : date
    },
).done(function(){                
    alert( "exit" );
}).fail(function(error){
    alert(error.responseText);
});

};