简体   繁体   English

从Ajax接受php中的POST参数

[英]Accepting POST parameters in php from Ajax

Im trying to send some date parameters to my php file, that will use it to gather some information between the two dates. 我试图将一些日期参数发送到我的php文件,它将使用它来收集两个日期之间的一些信息。

Everything works great except i can't seem to get the parameters from the javascript. 一切都很好,除非我似乎无法从javascript中获取参数。

Javascript/ajax: 的JavaScript / AJAX:

function lastInn() {
    clearTable();

    var fra = document.getElementById("fraDato").value;
    var til = document.getElementById("tilDato").value;

    if (window.XMLHttpRequest) {
        // code for IE7+, Firefox, Chrome, Opera, Safari
        xmlhttp = new XMLHttpRequest();
    } else { // code for IE6, IE5
        xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
    }
    xmlhttp.onreadystatechange = function () {
        if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
            //document.getElementById("txtHint").innerHTML=xmlhttp.responseText;
            alert(xmlhttp.responseText);
            var data = JSON.parse(xmlhttp.responseText);

            $.each(data, function (key, val) {
                addData(val.Dato, val.BookedBy, val.Fra, val.Til);
            });
        }
    };
    xmlhttp.open("POST", "test2.php?", true);
    xmlhttp.send('dato1 =' + encodeURIComponent(fra) + '&dato2=' + encodeURIComponent(til));
}

PHP file: PHP文件:

    include 'Db.php';

    $dato1 = $_POST['dato1'];
    $dato2 = $_POST['dato2'];
    //$dato1 = '2014-02-18';
    //$dato2 = '2014-02-22';

    $con = DbConnect();

    //$a = explode('.',$dato1);
    //$revdato1 = $a[2].'-'.$a[1].'-'.$a[0];
    //$newdate1 = str_replace(".","-",$revdato1);

    //$b = explode('.',$dato2);
    //$revdato2 = $b[2].'-'.$b[1].'-'.$b[0];
    //$newdate2 = str_replace(".","-",$revdato2);

    $result = mysqli_query($con, 'SELECT SUBSTRING(DateFrom FROM 1 FOR 10) AS Dato, BookedBy, SUBSTRING(DateFrom FROM 12 FOR 5) AS Fra, SUBSTRING(DateTo FROM 12 FOR 5) AS Til FROM kalendar WHERE SUBSTRING(DateFrom FROM 1 FOR 10) BETWEEN "'.$dato1.'" AND "'.$dato2.'"');

    while ($row = mysqli_fetch_assoc($result)) {
        $output[] = $row;
    }
    echo json_encode($output);
    mysqli_close($con);

Any Idees where im going wrong? 我在哪里出错的任何想法?

try with jquery 尝试用jQuery

function lastInn(){   
    $.ajax({
            url : 'test2.php',
            type: "POST",
            data : {dato1: $('#fraDato').val(),dato2: $('#tilDato').val()},
            success : function(data){
               alert(data);
               // do your stuff
            },
            error : function(){
                $('#error').html("Error!");
            }
        });
    }

php code PHP代码

 print_r($_POST);

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM