2014年2月25日 星期二

IE8遇到的問題、已經連吐槽都懶得吐了
發生情況:
用jquery.getJSON或jQuery.AJAX(...type: "JSON"...
某個欄位就是抓不到值
最後改成以下寫法

$.ajax({
    url: "/DisabledUnit.json",
    dataType: "text",
    success: function() {
        try {
            data = $.parseJSON(arguments[0]);
            $.each(data.disableUnit, function(idx, obj) {
                if (obj.depactive === "no") {
                    $("input[name=chkBoxUnit]").each(function() {
                        if ($(this).val() === obj.depcode){                                $(this).attr("disabled", "disabled");
                        }
                    });
                }
            });
        } catch (e) {
            alert(e);
        }
    }
});
雖然看起來就是那麼stupid、但是就抓到了…..
紀錄一下、以後有人撞到、又剛好查到這邊就派得上用場了^^

2013年7月17日 星期三

Typescript初體驗-認識



目前還沒有用他寫過東西、網路上看到一些資料先玩一下、做個筆記
首先可以參考
在開始碰之前原本認為這是跟Cs[Coffeescript]一樣的東西、都是用來產生有規範的js code
初步玩了之後發現還是不一樣、就語法來說ts[TypeScript]好寫很多、Cs就看得很不習慣
Ts目的是開發大型Javascript的工具、Cs是用來寫出符合規範、JSlint的工具、並且簡化輸入繁瑣的code的工具
兩者一樣的地方就是如果整個team都用TsCs來開發的話、最後產生的code基本上都會符合各自的規範
也就是不會出現每個人coding風格不一樣的問題、且應該也會避免掉一些開發時沒注意到的小細節、導致日後很難debug
例如該用===的地方只用==

安裝
TypeScrip : 要另外下載安裝檔的、且安裝完後要重開機= =
CoffeeScript : 需要安裝node.js、必須由npm中下載安裝
指令為npm install –g coffee –script

操作
TypeScrip : 支援vs2012、可以用command下指令轉譯、或用vs2012安裝Web Essential、支援intellisense(很強大)、可以用線上版編輯器編輯,Windows開發環境限定
CoffeeScript : sublime可以支援、或用vs2012安裝Web Essential、當然sublime也可以寫TypeScript、不過肯定是沒有用vs2012寫來的輕鬆、vs2012真是最強大的IDE,可以運作在Windowslinux等作業系統。

日後有心得在一一補上、畢竟兩種都沒實際用過

參考資料

2013年7月13日 星期六

Try抓不到的錯誤

以前在寫asp.net時只要把程式包在try中、就算command有問題也是可以在catch中抓到錯誤 但是方法在PHP就行不通了、必須要另外去抓stmt的錯誤訊息才有辦法 可能是對PHP來說這不算是會讓程式終止的錯誤、所以不會丟出exception、要去抓stmt的錯誤才有辦法

$dbh = new PDO($dns, $userId, $password);
$query = 'select customername from customers where cusstomername like :name';
try {
    $sth = $dbh->prepare($query);
    $sth->execute(array(':name' => 'a%'));
    while ($row = $sth->fetch(PDO::FETCH_ASSOC)) {
        printf('customername : %s<br/>', $row['customername']);
    }
} catch (PDOException $exc) {
    echo 'error';
}

沒有這個cusstomername、但是抓不到錯誤

$dbh = new PDO($dns, $userId, $password);
$query = 'select customername from customers where cusstomername like :name';
try {
    $sth = $dbh->prepare($query);
    if ($sth->execute(array(':name' => 'a%'))) {
        while ($row = $sth->fetch(PDO::FETCH_ASSOC)) {
            printf('customername : %s<br/>', $row['customername']);
        }
    } else {
        $stherr = $sth->errorInfo();
        echo $stherr[2];
    }
} catch (PDOException $exc) {
    echo 'error';
}

這樣才有錯誤"Unknown column 'cusstomername' in 'where clause'"