使用AJAX返回javascript

Jam*_*poo 5 javascript ajax

一个开发人员最近告诉我,我可以向php页面发出ajax请求,让它们返回javascript方法,然后让客户端执行这些方法。怎么做?与相关资源的链接也很好。

编辑

明智的5年,我现在将尽一切努力做到这一点。任何这种机制都会带来跨站点脚本攻击的极大风险。使用适当的标头禁用所有内联javascript 并找到实现所需功能的另一种方法,要安全得多。如果确实需要动态生成的脚本,则可以将它们组装在服务器上并作为外部脚本包括在内:

<script src=/dynamic-script.php?param1=blah&param2=ayyylmao></script>
Run Code Online (Sandbox Code Playgroud)

在此示例中,dynamic-script.php将使用传递给它的参数来生成所需的javascript。

Cli*_*ton 2

可以使用 jQuery(一个 JavaScript 库)来完成一个示例。
如果调用ajax请求:

$.ajax({
    url:"phpfile.php",
    type:"post",
    data: {id: 4},
    async:true,
    success: function(data) {
        $("div").html(data);
    },
    error: function() {
        alert("Error");
    }
});
Run Code Online (Sandbox Code Playgroud)

在 phpfile.php 中你echo可以执行一些 javascript 代码:

<?php
echo "
<script>
jQuery(document).ready(function() {
    $(\"#someDiv\").click(function() {
        alert(\"#someDiv clicked\");
    });
});
</script> ";
?>
Run Code Online (Sandbox Code Playgroud)