【问题标题】:How to send a javascript array to php [duplicate]如何将javascript数组发送到php [重复]
【发布时间】:2018-05-02 18:16:14
【问题描述】:

我的 javascript 文件中有一个名为“seat”的数组。当用户单击剧院布局中的座位时,它用于存储座位号。在我的函数中,我使用了窗口警报来显示用户他选择的座位,当他点击确定按钮时,我想将这些预订的座位(我数组中的值)发送到一个名为“确认”的 php 文件。

这里是javascript函数。

var init = function (reservedSeat) {
    var seat = [], seatNo, className;
    for (i = 0; i < settings.rows; i++) {
        for (j = 0; j < settings.cols; j++) {
            seatNo = (i + j * settings.rows + 1);
            className = settings.seatCss + ' ' + settings.rowCssPrefix + i.toString() + ' ' + settings.colCssPrefix + j.toString();
            if ($.isArray(reservedSeat) && $.inArray(seatNo, reservedSeat) != -1) {
                className += ' ' + settings.selectedSeatCss;
            }
            seat.push('<li class="' + className + '"' +
                      'style="top:' + (i * settings.seatHeight).toString() + 'px;left:' + (j * settings.seatWidth).toString() + 'px">' +
                      '<a title="' + seatNo + '">' + seatNo + '</a>' +
                      '</li>');
        }
    }
    $('#place').html(seat.join(''));
};

$('.' + settings.seatCss).click(function () {
if ($(this).hasClass(settings.selectedSeatCss)){
	alert('This seat is already reserved!');
}
else{
    $(this).toggleClass(settings.selectingSeatCss);
	}
});

$('#btnsubmit').click(function() {
    var seat = [], item;
    $.each($('#place li.' + settings.selectingSeatCss + ' a'), function (index, value) {
        item = $(this).attr('title');                   
        seat.push(item);                   
    });
    window.alert(seat);
	$_POST('confirm.php', {seat: seat})
})
<form method="POST" action="confirm.php"> 
<div align="center"><input type="Submit" id="btnsubmit" value="Submit" /></div>
</form>

这是我的 php 代码。

$seat = "";

if(isset($_POST['seat']))
{
    $seat = $_POST["seat"];
    print_r($seat);
}

执行此操作时,我收到窗口警报,但存储在数组中的值没有传递到 php 文件。这段代码有问题吗?请帮忙!我卡在这里!!!

【问题讨论】:

    标签: javascript php html


    【解决方案1】:

    $_POST 不是内置方法,jQuery 也不提供类似的方法——你不能像这样将值“设置”到 $_POST 数组中。

    要发布using jQuery,您需要执行以下操作,包括从服务器返回的数据的处理程序(如果有的话):

    $.post("confirm.php", { seat: seat})
     .done(function(data){
              alert('Received data from server: ' + data);
           });
    

    【讨论】:

      【解决方案2】:

      您需要将数据发送到您的 PHP 脚本,这在您的 JS 代码中没有任何作用:

      $_POST('confirm.php', {seat: 座位})

      使用 jQuery post method 或 vanilla JS XMLHttpRequest 之类的东西

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-03-27
        • 2014-01-08
        • 1970-01-01
        • 1970-01-01
        • 2021-02-13
        • 2015-11-16
        • 2012-11-23
        • 2012-12-14
        相关资源
        最近更新 更多