Javascript 如何根据用户选择的内容包含php文件
我有很多div,可能是一打或两个,比如Javascript 如何根据用户选择的内容包含php文件,javascript,php,jquery,ajax,Javascript,Php,Jquery,Ajax,我有很多div,可能是一打或两个,比如 <div class="mydivs" id="firstdiv"></div> <div class="mydivs" id="seconddiv"></div> <div class="mydivs" id="thirddiv"></div> <div class="mydivs" id="forthdiv"></div> <div class="my
<div class="mydivs" id="firstdiv"></div>
<div class="mydivs" id="seconddiv"></div>
<div class="mydivs" id="thirddiv"></div>
<div class="mydivs" id="forthdiv"></div>
<div class="mydivs" id="fifthdiv"></div>
等等
当用户单击这些div中的任何一个时,我希望将名为(this.id).php的唯一php文件加载到这些div中
$(".mydivs").click(function(){
$(this).html("<?php include " + this.id + ".php ?>");
});
$(“.mydivs”)。单击(函数(){
$(this.html(“”);
});
这怎么可能呢?既然您已经在使用jQuery,那么您可以执行以下操作
$(".mydivs").click(function() {
var that = this;
$.get(this.id + ".php", function(data, status) {
$(that).html(data);
};
});
它是异步的,所以您可能还需要一个小微调器或其他东西来显示正在加载的内容
这也将消除任何安全问题。例如,如果今天的代码是从用户输入读取的,例如
getFile.php?file=1.php
,那么您将遇到问题。如果文件不存在,上面的当前代码将简单地返回404。它不是包括,它只是用AJAX获取页面,浏览器不需要这些代码也可以做到这一点。我不太确定这样做是否安全。您不应该使用用户输入来为PHP选择文件include
。用户的请求很容易被操纵——它们可能包含您不希望它们包含的脚本,或者,如果服务器配置不正确,则可能包含他们自己的带有恶意代码的PHP文件
如果您只想加载其他页面,请改用AJAX,并始终检查所请求的资源是否是您希望用户看到的内容。您需要使用AJAX来实现这一点。您能解释一下吗?PHP是服务器端,javascript是客户端。当您使用javascript时,该页面的PHP已经由服务器加载并交付。那么,我猜你想在另一个页面加载中包含这些内容?