将变量存储在脚本之外

时间:2015-07-09 11:13:48

标签: javascript html ajax playframework refresh

我使用Play Framework并在视图.html文件中我有以下代码:

<script type="text/javascript">
    setInterval(function() {
    $.get("file2", function(${list1}, ${list2}, ${list3}){
       $("#result").html(data, options);
        })
    }, 1000);
</script>

这基本上是一个&#34;计时器&#34;获取文件2中的Flot Chart图,我希望在result元素中得到它。文件2中的代码在单独处理时可以正常工作和绘图,但当然,当我在这个文件中绘图时,我写道:

$(document).ready(function () {
                myPlot = $.plot($("#placeholder"), data, options);
            });

现在,我想要的是在文件1(包含第一个代码片段的文件)中获取文件2中脚本标记内的数据和选项,但Firebug告诉我文件中的数据和选项未定义1.如何存储它们或者获取文件2中使用的数据进行绘制的最佳选择是什么? (它在脚本标签内)。谢谢!

1 个答案:

答案 0 :(得分:0)

此:

$.get("file2", function(${list1}, ${list2}, ${list3}){

看起来不正确。使用以下内容调用$.get的“成功”回调函数:

Function(PlainObject data, String textStatus, jqXHR jqXHR)

因此使用类似的东西会更有意义:

$.get("file2", function(data, textStatus, jqXHR) {
  // use the data
});

此:

$("#result").html(data, options);

看起来也不正确。 jQuery的.html函数具有签名:

.html(htmlString)

或:

.html(function)

在您的代码中,它的作用是用data中的内容替换HTML。完全没有使用options

如果您想存储${list1}等等,您可能需要执行以下操作:

var list = $list1; // curly brackets not necessary

然后您可以在其余的JavaScript代码中使用它。