簡體   English   中英

將MultiDateSpicker中的getDates發布到jquery ajax發布請求中時為空數據

[英]Null data when posting getDates from Multidatespicker into jquery ajax post request

HTML:

    <script>
    $(function () {
        var min = new Date(2017, 03, 01);
        var max = new Date(2017, 05, 30);
        $("#datepicker").multiDatesPicker({
            maxPicks: 21, numberOfMonths: [1, 3], dateFormat: 'd.m.y', defaultDate: '1.4.17', minDate: min, maxDate: max, onSelect: function (dateText, inst) {
                $("#save").text("Speichern").removeClass("btn-success").addClass("btn-default")
            }
        });
        $("#datepicker").addClass("center");
    });
</script>
<script>
    function speichern() {
        var url;
        var success;
        var data;
        var error;
        var dataType = "text";
        $("#save").text("Wird gespeichert...");
        success = function (ergebnis) {
            $("#save").text("Gespeichert").removeClass("btn-default").addClass("btn-success");
        };
        url = "saver/save";
        data = {'dates[]': $("#datepicker").multiDatesPicker("getDates")};
        error = function (event, jqXHR, thrownError) {
            alert(thrownError.toLocaleString());
        }
        $.post({url: url, success: success, data: data, error: error, dataType: dataType});
    }
</script><p>
<div id="datepicker"></div></p>
<button id="save" class="btn btn-default" style="float:right;margin-bottom: 10px" onclick="speichern()">Speichern</button>

PHP:

<?php

class saver extends CI_Controller
{
    function save()
    {
        $dates = $this->input->post['dates[]'];
        var_dump($dates);
        echo $dates;
        //echo "erfolgreich gespeichert";
    }
}

$ dates是空的,但我真的不知道為什么! 還嘗試對post ['dates []']使用'data','dates','data'...,但沒有任何效果。 數據是一個包含具有選定日期的數組的對象(由於某種原因?)。 PHP腳本的響應為NULL。 發送參數例如:date []:“ 12.6.17”

編輯:它必須是一個CodeIgniter錯誤,因為$ _POST給了我我想要的!

在javascript數組中創建為:

var dates = [] OR var dates = new Array();

因此,如下更改您的腳本代碼:

<script>
    function speichern() {
        var url;
        var success;
        var data;
        var error;
        dates = [];
        dates = $("#datepicker").multiDatesPicker("getDates");
        var dataType = "text";
        $("#save").text("Wird gespeichert...");
        success = function (ergebnis) {
            $("#save").text("Gespeichert").removeClass("btn-default").addClass("btn-success");
        };
        url = "saver/save";
        data = {'dates':dates};
        error = function (event, jqXHR, thrownError) {
            alert(thrownError.toLocaleString());
        }
        $.post({url: url, success: success, data: data, error: error, dataType: dataType});
    }
</script>

並在php中:

$date = $this->input->post('dates');
print_r($date);

希望對您有幫助。

暫無
暫無

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

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