gpt4 book ai didi

php - 使用 jQuery 将 javascript 数组发送到 php

转载 作者:行者123 更新时间:2023-12-01 02:29:38 25 4
gpt4 key购买 nike

我正在尝试使用 ajax 和 jQuery 将 javascript 数组传递给 php。

我有一个简单的页面,其中包含一系列我可以通过 jQuery UI 选择的数字(见下文)当我选择一组数字时,我使用 array.push 将这些数字添加到名为“shift”的数组中。问题是:将这个数组发送到 PHP 的最简单方法是什么?传过来后它仍然是一个数组吗?我是编码新手,非常感谢我能得到的任何帮助。经过大量研究后,这就是我尝试过的。哦,我已经设法弄清楚如何将表单提交给 PHP,我被困在 jQuery UI 数组上。

example. 9, 1, and 3 have been selected

这是我的 main.php

<!DOCTYPE html>
<html>
<head>

<title>test</title>


<link rel="stylesheet" type="text/css" href="main.css">

</head>

<body>
<div class = "container">
<form action="post.php" method="post" id="add">
<input type="text" class="leader" name="name" placeholder="Leader">
<input type="text" class="date" name="date" placeholder="date">
<input type="text" class="time" name="time" placeholder="time">
<input type="text" class="score" name="score" placeholder="score">
<input type="submit" id="btn" value="send" />
</form>


<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.0/jquery.min.js"></script>
<script type="text/javascript" src="jquery-ui-1.10.4.custom.js"></script>
<script src="globe.js"></script>


<ul id ="hours_zoned">
<li class="nine">9</li>
<li class="ten">10</li>
<li class="eleven">11</li>
<li class="twelve">12</li>
<li class="one">1</li>
<li class="two">2</li>
<li class="three">3</li>
<li class="four">4</li>
<li class="five">5</li>
<li class="six">6</li>
<li class="seven">7</li>
<li class="eight">8</li>
<li class="nine">9</li>
</ul>
</div>




</body>
</html>

这是我的 post.php

 <html>
<body>


/* I'm using all of these echoes to verify that the data is coming
over. Only "shift" fails to come over */

NAME <?php echo $_POST["name"]; ?><br>
DATE <?php echo $_POST["date"]; ?><br>
TIME <?php echo $_POST["time"]; ?><br>
SCORE: <?php echo $_POST["score"]; ?><br>

SHIFT: <?php echo $_POST["shift"]; ?>

<?php

include("db.php");

$name = $_POST["name"];
$date = $_POST["date"];
$time = $_POST["time"];



$query = "INSERT INTO leaders (name, shift_date, shift_time) VALUES ('$name', '$date', '$time')";
$result = $db->query($query);



?>

</body>
</html>

这是我的globe.js

var shift = []; //create array to store zoned hours

$(function() {
$( "#hours_zoned" ).selectable();
$( "#hours_zoned" ).on('click', 'li', function() {

$(this).addClass("clicked ui-selected");
$( this ).css( "background-color", "#e74c3c" );
$( this ).selectable({ disabled: true });

var floorTime = $(this).text(); // get the value of the hour that was clicked
shift.push(floorTime); // add that hour to the floorTime
});

/*$('#add').on('submit', function() {
var name = $('.leader').val(); */


$('#btn').on('submit', function() {
$.ajax({
type: 'POST',
url: 'post.php',
data: shift,
success: function(msg) {
alert(msg);
}
});
});

return false;
});

最佳答案

您仅发送 key

data: shift,

根据文档 - 对象必须是键/值对。 ( https://api.jquery.com/jQuery.ajax/ )

尝试

data: {shift: shift},

现在就是这样

$('#btn').on('submit', function() {
$.ajax({
type: 'POST',
url: 'post.php',
data: {shift: shift},
success: function(msg) {
alert(msg);
}
});
return false;
});

关于php - 使用 jQuery 将 javascript 数组发送到 php,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23283342/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com