私が探しているものは、jQueryでは次のようになります。
jQuery.ajaxSetup({
'beforeSend': function(xhr) {
xhr.setRequestHeader("Accept", "text/javascript");
}
});
...
$("#my_form").submit({
$.post($(this).attr("action", $(this).serialize(), null, "script");
return false;
});
次に、サーバーがJavascript(Accept-headerビット)を返すと、jQueryはそれ(最後の「script」パラメーター)を実行します。
Dojoでも同じ効果を得ようとしています。私の最良の推測は:
form = dojo.byId("my_form")
form.onsubmit = function() {
dojo.xhrGet({
url: form.action,
form: form,
handleAs: "javascript"
})
}
これhandleAs: "javascript"
により、DojoはJSとして応答を実行する必要があります。私の問題は、Webサーバー(respond_to do |format|
Railsのブロック)が何を返すかを認識できるようにヘッダーを設定する方法がわからないことです。