簡體   English   中英

從Ajax接受php中的POST參數

[英]Accepting POST parameters in php from Ajax

我試圖將一些日期參數發送到我的php文件,它將使用它來收集兩個日期之間的一些信息。

一切都很好,除非我似乎無法從javascript中獲取參數。

的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文件:

    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);

我在哪里出錯的任何想法?

嘗試用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代碼

 print_r($_POST);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM