使用jQuery傳遞Array

之前寫過一篇善用JavaScriptSerializer處理JSON資料,這次要傳遞的資料比較簡單,不是string就是List< string>,想當然爾會直覺地在前端用Array處理~方便咩。

JavaScript的Array長這樣
var myList = new Array();
最常見的用法就是把網頁上表單形式的排列資料,依所需取出以組合成陣列,
像是把table裡面每個的id值取出來
$('#myTable  tr').each(function () {
     var myId = $(this).attr('id');
     myList.push( myId  );
})
接著用$.post把資料往後送(我用MVC所以會有個Action接收)
$.post('myController/myAction', { json1: $.trim($('#textbox1').val()), json2: myList }, null, "json");

myAction如下
[HttpPost]
public JsonResult  myAction (string  json1, List< string>   json2)
{
     // do something
}
經過反覆檢驗,myList的確有值但json2總是null
解決辦法是traditional設為true,寫法有以下二種

● $.ajax設定traditional: true
$.ajax({
    type: "POST",
    url: 'myController/myAction',
    data: { json1: $.trim($('#textbox1').val()), json2: myList },
    null,
    dataType: "json",
    traditional: true
    // traditional 改為 ture .NET 才能成功接收陣列
});

● $.post傳值必須使用jQuery.param
var myObject = { json1: $.trim($('#textbox1').val()), json2: myList };
$.post('myController/myAction', $.param(myObject, true), null, "json");

參考資料
jQuery.param()
How can I post an array of string to ASP.NET MVC Controller without a form?

台北機廠巡禮

以前採買部門零食爾偶爾經過市民大道五段,都會對佔地廣袤卻無人出入的台北機廠感到好奇,這次參訪才得知原來人家一直都有在運作啦,我一直以為是廢墟XD

有這次巡禮,是因為都更後機廠將會搬遷至桃園富岡,搬遷並不會100 %保留原貌,故舉辦了連續幾周的巡禮讓民眾瞻仰下將消失的台北機廠。

別看走在前頭的人不多,人數多到直接加開第二梯次,第一梯次就破百人@_@


可能我參加巡禮首周的早上梯次(巡禮活動第一批),個人覺得導覽沒有很流暢,不過帶我們的組長人超好,知道我們聽的時候來不及拍照,最終還是應我們幾個死小孩的要求陪著再走一遭>//////<
因此建議想去巡禮的朋友,一旦發現導覽人員速度頗快,絕對要抓緊時間拍,因為很多地區是不給你自由晃的~畢竟機廠重地,而且機廠營運中..是有在辦公滴!

機廠耶機廠耶~可以走進去耶\(  ^ Q^)/ 



每個零件都有它的價值,別小看這些細如髮絲的紋路,磨光光就表示要退休啦!

退休就先丟這~


自強號界的老伯伯


8月就要搬走~以後不叫台北機廠T__T
泥看看,人家桃園有機場又有機廠XDD

導覽最後一站,則是常登上新聞,讓大家覺得台鐵員工很好命的澡堂  <( ̄oo, ̄)/ 

澡堂還在服役,這些衣服都是真的,還有吊嘎說XDD



靠.....人超多...

澡堂外部


澡堂通風窗有個可愛的名稱"虎耳"
礙於機廠人員緊迫盯人=..=|||  只能墊高腳勉強用很偏的角度拍拍嘞


101也入鏡的場景令人想到四四南村,可惜的是機廠這的角度將不復見

組長說這是巴洛克風





人工打卡也有防作弊( ̄口 ̄)!!







死觀光客一定要跟識別證合影!會回收給下梯次人員說

這裡也有防空洞捏


喔對了,如果跟piggy一樣只能假日參加,免報名~直接到台北機廠大門就有人招呼你進去嚕
參展資訊請以台鐵局官網為準:Fun暑假,臺北機廠文化巡禮