prototype在评估的ajax请求中得到变量

时间:2015-02-20 08:08:31

标签: javascript prototypejs eval

您是否有一种方法可以使用原型来获取在ajax调用中评估的脚本中定义的变量的值?据我所知,ajax请求是在setTimeout闭包内部进行的,因此变量的范围在那里被限制......但也许我错过了一些东西!

例如:

外部脚本:

<script>
  var foo = "bar";
</script>

Ajax调用:

new Ajax.Request(external_script, {
  evalScripts: true,
  onComplete: function () {
    //some magic
    console.log(foo);
  }
});

1 个答案:

答案 0 :(得分:0)

从外部JS文件中删除<script>标记。外部JS文件应该只包含Javascript代码。 <script>仅用于在HTML文件中嵌入Javascript。

根据Prototype.js Ajax文档,启用脚本执行的选项是evalJS,而不是evalScripts