JQuery / AJAX:如何将变量传递给某些JS-API?

时间:2011-09-30 11:34:19

标签: javascript jquery ajax

我将JS定义的变量从AJAX响应传递给JS-API,即Googles jsapi。我想要做的是使用此API显示图表,然后使用AJAX不时从数据库重新加载值。 到目前为止,一切正常。但是当我通过AJAX返回这些变量时 - 我如何让JS解析结果?

代码:

<div id="t">
    xyz
</div>
<script>
    window.setInterval(function()
    {
        $.post('mod/script.php', function(data) { $('#t').html(data) } );
    }, 5000);
</script>

其中script.php会返回

之类的值
echo "data.addRows($datasets);";
echo "data.setValue($i, 0, '$date $time');";

问题是,我不知道,脚本返回了哪些值。这取决于当前存储在数据库中的内容。

如何做到这一点?我有一些想法,但我想知道这里最便捷的方式是什么......

1 个答案:

答案 0 :(得分:0)

如果我说得对,你想在当前文档的上下文中执行某些JS回调,是吗?

正确的方式是JSONP

真正非常古怪的“替代方案”是在你的script.php中执行此操作:

echo "(function(){";
echo "data.addRows($datasets);";
echo "data.setValue($i, 0, '$date $time');";
echo "})()";

并进行回调:

 $.post('mod/script.php', function(callback){ eval(callback); });

另外,请看这个小提琴:http://jsfiddle.net/EsytA/1/