Javascript 如何在Dojo中执行JS XHR响应?
我在jQuery中查找的内容如下所示:Javascript 如何在Dojo中执行JS XHR响应?,javascript,jquery,dojo,Javascript,Jquery,Dojo,我在jQuery中查找的内容如下所示: jQuery.ajaxSetup({ 'beforeSend': function(xhr) { xhr.setRequestHeader("Accept", "text/javascript"); } }); ... $("#my_form").submit({ $.post($(this).attr("action", $(this).serialize(), null, "script"); return false; });
jQuery.ajaxSetup({
'beforeSend': function(xhr) {
xhr.setRequestHeader("Accept", "text/javascript");
}
});
...
$("#my_form").submit({
$.post($(this).attr("action", $(this).serialize(), null, "script");
return false;
});
然后,当我的服务器返回一些Javascript(接受头位)时,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服务器(Rails中的
respond|u to do | format |
块)知道返回什么。我自己不确定dojo,但我知道phiggins(主要dojo dev)在freenode irc上的#dojo频道上可用,如果没有其他人能给你答案的话。我相信答案是:
form = dojo.byId("my_form")
form.onsubmit = function() {
dojo.xhrGet({
url: form.action,
form: form,
handleAs: "javascript",
headers: { "Accept": "text/javascript" }
})
}