【发布时间】:2019-04-30 08:03:35
【问题描述】:
我试图在 jquery .post 中传递 javascript 数组,但它没有显示在页面上。我究竟做错了什么?我看到我的数组已填满,但数据未显示在页面帖子上。控制台日志显示 p 元素,我也不知道它为什么这样做。
jquery 代码:
$("#submitboeking").click(function(event) {
event.preventDefault();
//Cursisten
var voornamen = [];
var achternamen = [];
var geslachten = [];
var geboortedata = [];
$("[id^='txtCursistVoornaam']").each(function() {
voornamen.push($(this).val());
});
$("[id^='txtCursistAchternaam']").each(function() {
achternamen.push($(this).val());
});
$("[id^='radCursistGeslacht']:checked").each(function() {
geslachten.push($(this).val());
});
$("[id^='txtCursistGeboortedatum']").each(function() {
geboortedata.push($(this).val());
});
// console.log(voornamen);
// console.log(achternamen);
// console.log(geslachten);
// console.log(geboortedata);
$.post('/wp-content/themes/tweb/processboeking.php',
{
voornamen: voornamen,
geslachten: geslachten,
voornamen: voornamen,
achternamen: achternamen,
geboortedata: geboortedata,
})
.done(function(data)
{
console.log(data)
$('#overzichtboeking').html(data);
}).fail(function(data) {
alert(response.responseText);
});
var li_count = $('.nav-tabs li').length;
var current_active = $('.nav-tabs li.active').index();
if (current_active < li_count) {
$('.nav-tabs li.active').next('li').find('a').attr('data-toggle', 'tab').tab('show');
var txt = $(".oplselect option:selected").text();
var val = $(".oplselect option:selected").val();
$('.showoplnaam').html('Uw selectie: ' + txt);
}
});
console.log 数据:
Array
(
[voornamen] => Array
(
[0] => G.F.
)
[geslachten] => Array
(
[0] => Dhr.
)
[achternamen] => Array
(
[0] => martens
)
[geboortedata] => Array
(
[0] => 25-10-1993
)
)
<p id="overzichtboeking"></p>
processboeking.php
<?php
include '/home/vhosts/tweb.nl/httpdocs/wp-content/themes/tweb/db/dbcon.php';
print_r($_POST);
?>
<p id="overzichtboeking"></p>
【问题讨论】:
-
"控制台日志还显示 p 元素" - ajax 请求的结果将包含来自请求页面的all 输出。由于您在请求文件的末尾输出
<p id="overzichtboeking"></p>,它将成为响应的一部分。 -
您也不需要手动将
[]添加到请求数据的键名末尾。由于这些变量已经是数组,jQuery 应该为你处理它。 -
@MagnusEriksson 检查我的编辑,我更改了 [],但我的 print_r 帖子仍然没有响应。
-
“我的 print_r 帖子仍然没有回复”是什么意思?那么您问题中的“console.log 数据”来自哪里?如果你问我,这看起来像 print_r() 的输出?
-
@MagnusEriksson 我试图捕捉页面 processboeking.php 上的帖子,所以我的打印 r_post 需要在页面 processboeking 上显示数据。 console.log 显示控制台中的数据。你看我也在做 $('#overzichtboeking').html(data);这意味着数据被放入 overzichtboeking 的 id 中,并且它需要显示在页面上,但它没有。数据仅在控制台中,不在页面上。
标签: javascript php jquery post