Return javascript 和 AJAX
Return javascript with AJAX
一位开发人员最近告诉我,我可以向 php 页面发出 ajax 请求,让它们使用 return javascript 方法,然后让客户端执行这些方法。这是怎么做到的? link 相关资源也很好。
编辑
聪明 5 岁,我现在会非常努力地永远不要这样做。任何这种机制都开启了太多 cross-site scripting attacks. It's far safer to disable all inline javascript using appropriate headers 的风险,并找到另一种方法来实现所需的功能。如果确实需要动态生成的脚本,可以将它们组装在服务器上并作为外部脚本包含在内:
<script src=/dynamic-script.php?param1=blah¶m2=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> ";
?>
一位开发人员最近告诉我,我可以向 php 页面发出 ajax 请求,让它们使用 return javascript 方法,然后让客户端执行这些方法。这是怎么做到的? link 相关资源也很好。
编辑
聪明 5 岁,我现在会非常努力地永远不要这样做。任何这种机制都开启了太多 cross-site scripting attacks. It's far safer to disable all inline javascript using appropriate headers 的风险,并找到另一种方法来实现所需的功能。如果确实需要动态生成的脚本,可以将它们组装在服务器上并作为外部脚本包含在内:
<script src=/dynamic-script.php?param1=blah¶m2=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> ";
?>