PageRank



轉移公告

計劃把 http://blog.hoamon.info/ 文章全部轉移至 http://www.hoamon.info/blog/ 這裡,而本 Blogger 站台的文章近 500 篇,我預計在 2014-12-31 前移轉完畢,完成後 http://blog.hoamon.info/ 將只作代轉服務,一律把舊連結如 http://blog.hoamon.info/index.html 轉成 http://www.hoamon.info/blog/index.html ,敬請舊雨新知互相走告。

新文章只發佈在 http://www.hoamon.info/blog/

何岳峰 敬上
顯示具有 ajax 標籤的文章。 顯示所有文章
顯示具有 ajax 標籤的文章。 顯示所有文章

2009年12月15日 星期二

懂基本原理與不懂基本原理的差別

我在使用 Google AJAX Library api 時,遇到一個奇怪的問題:

//第一段
<script src="http://www.google.com/jsapi"></script>
<script>
google.load("jquery", "1.3.2");
google.load("jqueryui", "1.7.2");
</script>
<script>
var $p = $('<p>123</p>');
alert($p.text()); // it works
</script>

以上程式碼居然不等於下面的程式碼!

//第二段
<script src="http://www.google.com/jsapi"></script>
<script>
google.load("jquery", "1.3.2");
google.load("jqueryui", "1.7.2");
var $p = $('<p>123</p>'); //會發生「未定義 $ 」問題。
alert($p.text());
</script>

但第一段程式碼可換成下面程式碼

//第三段
<script src="http://www.google.com/jsapi"></script>
<script>
google.load("jquery", "1.3.2");
google.load("jqueryui", "1.7.2");
google.setOnLoadCallback(function() {
var $p = $('<p>123</p>');
alert($p.text()); // it works
});
</script>

也就是 js 引擎對 <script> 區塊的判讀有特殊行為存在,要不然就是 jsapi.js 程式有獨到之處,但因為我不懂 js 引擎也沒仔細去看 jsapi.js 程式碼,所以我只能 try and error ,慢慢兜。

2009年3月4日 星期三

return HttpResponseRedirect with Post Data?

This is an example to solve the question from Django User Group

In the specification of http status code 302, there are no way to pass a post data to user's browser. But we can use AJAX method to reach this requirement. The principle is using the AJAX request to do some thing must run in the server and return a json data to browser, then the callback function that defined in the html will shape a html form and submit this form.

def readReturnHttpRedirectWithPost(R):
if R.GET.get('var', None):
# do something what you want
return HttpResponse(json.write({'action': 'https://your.web.sitek/', 'vars': {'var1': 'var1', 'var2': 'var2'}}))
html = """
    <html><head><script type="text/javascript" src="/media/jquery.ui-1.5.1/jquery-1.2.6.js"></script></head>
        <body>
          <ul><li><input type="text" id="var"></li>
              <li><input type="submit" id="updateFormWithPost"></li></ul>
          <form id="post_form" method="POST"></form>
          <script>
            $(document).ready(function(){
                $('#updateFormWithPost').click(function(){
                    var value = $('#var').val();
                    $.getJSON('/u/readreturnhttpredirectwithpost/', {'var': value}, function(json){
                        var $post_form = $('#post_form');
                        $post_form.attr('action', json['action']);
                        for (var i in json['vars']){
                            var $input = $('<input type="hidden" name="'+i+'" value="'+json['vars'][i]+'">');
                            $post_form.append($input);
                        }
                        $post_form.submit();
                    });
                });
            });
          </script>
        </body>
    </html>"""
return HttpResponse(html)

2007年7月14日 星期六

4天1200公里的旅行

2007.7.10~13墾丁、長濱、池上

我們住了三個地方:墾丁星辰民宿、長濱巴歌浪船屋、池上換鵝山房。

旅行中,我想到了一個 idea 。一份旅行日誌中可切為食、住、行及心情四個部份,我們可以分門別類地把餐廳、旅舍、路徑等相關資料變成地點、價格、使用後感受等資訊,然後用 mashup 把它們在包裝起來,應該可以比時下的旅遊網站還好使用。

目前時下的旅遊網站主要分為兩類:討論區及廣告區,一是由使用者自行提出那些地點、路線好玩再相互討論,一是由民宿業者或是觀光產業業者聯合架設以宣傳那邊值得遊玩。

而我的想法是以 Blog + Forum 為內容儲存的底層,並配合 Google Maps 作地點及路線的定義,以 AJAX 技術作 Mashup 的動作,有效分類旅遊資訊。

這次旅行的最大收獲是「曬傷」,我的皮膚不容易黑,所以這次去台東很想給它曬一曬,只是一下子過量了,有點痛、有點癢。

ps 墾丁、池上都有 3G 網路,但長濱沒有。

2007年4月11日 星期三

書籍管理系統:還不夠完美!

朋友傳了一個連結給我參考,那是一個我很久以前就好想作的服務:「書籍管理+意見分享」。那是我在裝了 Movable Type 時,發想的。

其實之前看到豆瓣時,就知道這世上,已經有人作出我夢想中的一部份,只是還不夠完美。這些服務在我的理想系統中,還缺了兩個元素:
  1. 刷書系統 用瀏覽器作刷條碼系統,會不會扯了點。事實上, AJAX 出來後,這個夢想不會假了。
  2. 獨立安裝 理想中的書籍管理系統,不只是給個人用的,還要能給圖書館用。
條碼機不過就像自動化鍵盤一般,當你刷了 ISBN 後,它就送出1串數字及1個 [Enter] ,所以用了 AJAX 程式,的確可以讓整套系統的使用方式,就像你家隔壁的租書店系統一樣,借還書、盤點就靠條碼機搞定。我的確也打算將這個系統應用在租書店,或是其他使用條碼機管理的零售商店上。

如果你有機會到竹山鎮欣榮紀念圖書館走走,你會發現館內絕大部份使用的個人電腦都是裝了 Ubuntu 的,這是一個很棒的圖書館,惟一美中不足的地方是:「圖書管理系統」是裝在 Windows 上,而且查詢系統是用 ASP 寫的。

我理想的圖書管理系統是能夠提供圖書館級的管理能力。所以除了線上提供服務外,能夠寫出一套系統,讓一般使用者也能自行安裝,那就美了。從一般使用者的安裝、使用問題上,可以加速回饋系統開發,這樣我會更有能力提供圖書館現有系統的更換。等到有圖書館使用了這套系統後,我就可以把原圖書館的書籍編目資料轉進這個系統,擴充書籍資料庫,如此一來,就可以節省一堆館員及使用者自行輸入資料的力氣,也提高書籍資料庫的正確性。大家就可以把填寫書籍資料的力氣省下來,多寫幾篇書評了。
Related Posts Plugin for WordPress, Blogger...