2012-06-04 69 views
0

我有一個下載爲csv按鈕導出結果爲csv。直到現在,我正在使用服務器端代碼。我將選定的DropDowns ID發送到csvdownload.php頁面,該頁面將結果寫入Excel。jquery ajax後多維數組到php

但是現在,我需要一個實用程序來選擇使用複選框的搜索結果,然後選定的結果應該寫入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

你應該看看'JSON' –

回答

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」

+0

感謝回覆。我在這裏創建數組嗎? – phpgeek

+0

@vikassharma看看我的更新 – Johan

+0

好的約翰會去嘗試相同的 – phpgeek

0

你應該使用jQuery序列化(http://api.jquery.com/serialize/

包含你想傳遞給你的服務器的值<input>領域您的頁面創建<form>

你會然後調用您的服務器使用jQuery:

$.ajax({ 
    type: 'POST', 
    url: url, 
    data: yourForm.serialize(), 
    success: success, 
    dataType: dataType 
}); 
+0

感謝您的答覆pgratton,實際上我得到搜索結果上述字段象徵着一行搜索結果,我可以有多行。我需要發佈它們之間的關係,他們之間的關係,以便我可以在PHP頁面獲取,並可以創建一個csv .. – phpgeek

+0

你應該看看@Johan回答 – pgratton

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')); 
+0

感謝您的答覆。我會解決我的問題。去試試這個。簡短的問題,我是否需要發送它像?selecteddata = json.stringfy(selectedData),以便它可以在獲取幫助 – phpgeek