如何将javascript数组发送到php

时间:2018-05-02 18:16:15

标签: javascript php html

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

This is the window alert

这是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文件。这段代码有问题吗?请帮助!我被困在这里!!!

2 个答案:

答案 0 :(得分:2)

$ _ POST不是内置方法,jQuery也没有提供这样的方法 - 你不能像这样将值“设置”到$ _POST数组中。

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

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

答案 1 :(得分:0)

您需要将数据发送到PHP脚本,这在JS代码中不起作用:

  

$ _ POST(&#39; confirm.php&#39;,{seat:seat})

使用类似jQuery post method或vanilla JS XMLHttpRequest

的内容