javascript - 使用 AJAX 返回 javascript

标签 javascript ajax

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

编辑

聪明 5 岁,我现在会非常努力地永远不要这样做。任何这种机制都会带来太多风险 cross-site scripting attacks .使用 appropriate headers 禁用所有内联 javascript 会更安全,并找到另一种方法来实现所需的功能。如果确实需要动态生成的脚本,它们可以在服务器上组装并作为外部脚本包含在内:

<script src=/dynamic-script.php?param1=blah&param2=ayyylmao></script>

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

最佳答案

可以用 jQuery(一个 javascript 库)来做一个例子。
如果调用ajax请求:

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

并且在 phpfile.php 中你echo 一些它可以被执行的 javascript 代码:

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

关于javascript - 使用 AJAX 返回 javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28003442/

相关文章:

javascript - 如何使用 Sequelize 按最后一条消息日期订购联系人?

javascript - 我怎么能不允许输入类型文本中的数字

javascript - 阻止某个函数在一段时间内下次执行

javascript - 在按键事件上立即使用 ajax 将文本转换为图像

javascript - 如何通过ajax发送2个选择框动态生成的值以获取第3个选择框值

javascript - 如何从Json结果中获取值

jquery - 搜索表单 css 类加载两次并影响 ajaxcomplete 函数后的位置

javascript - 我的重置按钮似乎无法工作

asp.net-mvc - Ajax.ActionLink 的问题

javascript - Angular JS,从 JSON 文件导入一些具体数据