Deveroper メモ

記事内容に絶対の保証はなく..どちらかというと自分用のノウハウ蓄積ページ。 それでも良ければ見ていってください。

メモ:ios6 の ajax の挙動

結論から書くと ios6 になってから自作サイトの ajax の挙動がおかしいです。
※自分の iphone は iphone4 の ios6 です。
※ブラウザは safari です。chrome はOKでした。

POST のリクエストを ajax で投げているのだが...一度ページ取得すると、
まるでリクエスト結果をキャッシュしているかのような動きを見せます。

jquery のコードも cache false にしているのに...↓

$.ajax({type: "POST",
        url: "xxxxxx",
        cache: false,
        success: function(response) {....

色々 ググっていたらこんな情報が!
http://dev.classmethod.jp/smartphone/ios6-safari-post-jquery...

マジすか。
POST のリクエストもキャッシュするらしい。

とりあえず、プロトコルヘッダに no-cache を指定してみよう..
自作サイトは sinatra で作ったので とりあえず 以下のコードを入れて対応した

after do
  cache_control :no_cache
end

メモ: 5月の #guruby

ちょっと書くのが遅くなったけど...
次回 guruby 前に残しておきます。

例外処理が起きた時に ruby だと begin rescue を使って
処理することが出来ます。

例:

begin 
   #エラーが起きる処理
rescue
   #エラーが起きた時の処理
end

自分は↑の書き方を主に使うのですが...
#guruby で「初めてのRuby」を読んでいて次の書き方でも出来るという内容が出ました。

begin 
   #エラーが起きる処理
rescue
   #エラーが起きた時の処理
else
   #エラーが起きなかった時の処理
ensure
   #エラーでもエラーが起きなくとも必ず通る
end

自分と何人から出たのは、else を書くと「必ず通るルート -> 例外ルート」
と「それ以外のルート と ん???」に見える。

覚えていれば、解るけど、知らないと はまるかも?
なのでメモを残しておきます。