1

我通过调用 x.php 在我的网页运行时加载了新数据,我检索了动态生成的 html 和 javascript。但是javascripts函数没有运行。

索引页面中的代码,调用php页面:

$.post('x.php', {
    id: num
}, function (output) {
    document.getElementById('view').innerHTML = output;
});

示例 html

<div id='view2'></div>

输出js函数示例:

<script type="text/javascript">
    function a(y, s) {
        id + y / s
    }

    function v(d) {
        document.getElementById('view2').innerHTML = d;
    }
</script>

如何使输出数据中的新 JavaScript 函数与加载的早期 js 一起运行?其他功能将取决于这个新生成的功能

4

2 回答 2

1

当您从 Post/Get 检索 JS 时,需要使用 eval 评估在响应中不使用 js。我的意思是JS不会自动评估,因此您需要手动执行

$.post('x.php', {
    id: num
}, function (output) {
    eval(output);
}

输出应为纯 js,此外,使用 eval不安全:)

于 2013-04-09T18:57:58.217 回答
0

您返回的 javascript 需要由页面上的任何 javascript 调用;)

您可以尝试放置:

a(y,s);
v(d);

在你的函数声明之后。当您在 js 之前放置“函数”时,就像您在声明一个变量:

var x;

此外,您的 ID 当前不匹配(视图与视图 2),我怀疑这可能只是一个错字。

于 2013-04-09T18:42:48.707 回答