jQuery Mobile を使った Web アプリ開発で、 フォームの submit で非同期に POST リクエストを送信 サーバー側でフォームデータを処理した後リダイレクトを返す クライアント側でリダイレクト先にページ遷移 という処理を実装するとき、data-role="page" を指定したタグに、data-url="ページのURL" も指定する必要がある。data-url を指定していないと、「画面は変わるけど、アドレスバーに表示されている URL は変わらない」という動きをしてしまう。 サンプルコードは次の通り。 # coding: utf-8 require "sinatra" @@greets = [] get "/" do @greets = @@greets erb :index end get "/greet" do erb :new end post "/greet