Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/456.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在Dojo中执行JS XHR响应?_Javascript_Jquery_Dojo - Fatal编程技术网

Javascript 如何在Dojo中执行JS XHR响应?

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中查找的内容如下所示:

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" }
  })
}