【发布时间】:2017-08-19 15:57:32
【问题描述】:
我对这件事感到困惑。
我有一个从 HTML 表构建的数组作为 json stringify 数据。
我想将该数组传递给php 函数,但不太成功。
我尝试了很多方法,但没有一个无法获取数据数组。
这是数据的数组:
// JavaScript Docume
$(document).on('click','#display_data',function(e){
var convertTableToJson = function()
{
var rows = [];
$('.table-bordered tr:has(td)').each(function(i, n){
var $row = $(n);
rows.push([
$row.find('td:eq(0)').text(),
$row.find('td:eq(1)').text(),
$row.find('td:eq(2)').text(),
$row.find('td:eq(3)').text(),
$row.find('td:eq(4)').text(),
$row.find('td:eq(5)').text(),
$row.find('td:eq(6)').text(),
$row.find('td:eq(7)').text(),
]);
});
return JSON.stringify(rows);
};
$(function(){
alert(convertTableToJson ());
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table class="table table-bordered">
<thead>
<tr>
<th>Kode Material</th>
<th>Storage Location</th>
<th>Movement Type</th>
<th>Id Indentifier</th>
<th>Item</th>
<th>Date Input</th>
<th>Netto</th>
<th>Unit</th>
<th><input type="checkbox" id="mycheckbox1" name="mycheckbox1"></th>
</tr>
</thead>
<tbody>
<tr>
<td>101200</td>
<td>WCB</td>
<td>101</td>
<td>5006540050</td>
<td>1</td>
<td>10.08.2017</td>
<td>23.970</td>
<td>KG</td>
<td><input type="checkbox" class="mycheckbox" name="mycheckbox"></td>
</tr>
<tr>
<td>101200</td>
<td>WCB</td>
<td>101</td>
<td>5006539985</td>
<td>1</td>
<td>10.08.2017</td>
<td>42.970</td>
<td>KG</td>
<td><input type="checkbox" class="mycheckbox" name="mycheckbox"></td>
</tr>
</tbody>
</table>
<button id='display_data'>Click me </button>
我尝试编写这样的代码来将该数组传递给 PHP
$(document).on('click','#display_data',function(e){
var convertTableToJson = function()
{
var rows = [];
$('.table-bordered tr:has(td)').each(function(i, n){
var $row = $(n);
rows.push([
$row.find('td:eq(0)').text(),
$row.find('td:eq(1)').text(),
$row.find('td:eq(2)').text(),
$row.find('td:eq(3)').text(),
$row.find('td:eq(4)').text(),
$row.find('td:eq(5)').text(),
$row.find('td:eq(6)').text(),
$row.find('td:eq(7)').text(),
]);
});
$(".table-bordered").val(JSON.stringify(table_data));
};
var data = $(".table-bordered").val();
$.ajax({
data:data,
type:"POST",
url:"../php/tagihan/save_data.php",
dataType:"html",
success: function(data){
alert ("Data:" + data);
}
});
});
但是当我尝试echo 并尝试print_r 时,它可以显示数组。这是我制作的php 代码。
<?php
include('../../Connections/koneksi.php');
// reading json file
$array = json_decode( $_POST['table-bordered'] );
print_r ($array);
?>
【问题讨论】:
-
@rickdenhaan 就像一个包含
json stringify数据的文本框? -
是的,不,这是一个愚蠢的解决方案。当我发布它时没有任何意义;-)
-
请告诉我如何解决这个问题
标签: javascript php jquery json