我正在下载csv按钮,用于将结果导出为csv。直到现在我正在使用服务器端代码。我将选定的DropDowns ID发送到csvdownload.php页面,该页面将结果写入excel。
但是现在,我想要一个用于使用复选框选择搜索结果的实用程序,然后将所选结果写入csv。
我打算在数组中获取表数据,然后使用ajax将其发布到php,然后它将执行其余的操作。但是如何将多行数据发布到php呢? 我有以下代码用于获取提醒数据的表数据,但不知道如何将其作为数组并传递给php
$('#tblSearchResults tr').filter(':has(:checkbox:checked)').each(function() {
$tr = $(this);
//alert($tr.find("td").eq(4).html());
var risk_cat = $tr.find("td").eq(1).html();
var risk_type = $tr.find("td").eq(2).html();
var risk_desc = $tr.find("td").eq(3).html();
var treat_desc = $tr.find("td").eq(4).html();
var treat_cat = $tr.find("td").eq(5).html();
selectedData.push({"risk_cat": risk_cat, "risk_type": risk_type, "risk_desc": risk_desc, "treat_desc": treat_desc, "treat_cat": treat_cat});
感谢
答案 0 :(得分:1)
我认为您需要使用JSON.stringify(selectedData)
才能在服务器端使用它。
jQuery:
var obj = { 'risk_cat': risk_cat, 'risk_type': risk_type };
selectedData.push(obj);
$.post('serive.php', { DTO: JSON.stringify(selectedData) },
function(data){ /* handle response, */ });
service.php:
header('Content-type: application/json');
header('Cache-Control: no-cache, must-revalidate');
$foo = json_decode($_POST['DTO']);
$arr = array('a' => 1, 'b' => 2, 'c' => 3, 'd' => 4, 'e' => 5); //example data
echo json_encode($arr);
这应该让你开始。在您的ajax响应中,alert(data.a)
会提醒“1”
答案 1 :(得分:0)
您应该使用jQuery serialize(http://api.jquery.com/serialize/)
在您的网页中创建一个<form>
,其中包含<input>
字段,其中包含您要传递给服务器的值。
然后,您将使用jQuery调用您的服务器:
$.ajax({
type: 'POST',
url: url,
data: yourForm.serialize(),
success: success,
dataType: dataType
});
答案 2 :(得分:0)
查看Jquery表单。您可以将表包装在表单元素中,并使用Ajax将其发布为序列化。 http://jquery.malsup.com/form/
答案 3 :(得分:0)
可能你可以试试这个:
$.ajax({
type: 'POST',
url: yourscript.php,
data: JSON.stringify(selectedData),
success: function(..){
},
contentType: "application/json"
});
在PHP文件中,从stdin读取JSON字符串,并使用json_decode
解码JSON。
$requestObject = json_decode(file_get_contents('php://input'));