我正在寻找的东西在 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 会执行它(最后一个“脚本”参数)。
我试图在 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 中的一个块)知道要返回什么。