包括使用ajax,javascript的php文件

时间:2014-07-18 16:24:24

标签: javascript php ajax

我有一个页面first.php由2个分区组成,即div1和div2(首先是空的)。

当点击div1时,它会向process.php页面发出ajax请求,该页面包含决定要包含哪个文件的代码。如果决定的文件是file1.php,其中包含html代码,如<div class="box"></div>,那么

我的问题是如何在div2中包含file1.php而不重新加载页面.php?

代码:

function bringData(data)
{

var request;
if(window.XMLHttpRequest)
{
request=new XMLHttpRequest();
}
else
{
    request=new ActiveXObject("Microsoft.XMLHTTP");
}
request.onreadystatechange=function()
{
    if(request.readyState==4 && request.status==200)
    {
        console.log("successfully COmpleted");
        console.log(request.responseText);
        document.getElementByClassName("space_area").innerHTML=request.responseText;
    }
}
request.open("POST","file1.php?p="+data,true);
request.send();


}

我的file1.php文件包含一些ajax代码,它应该以一定的间隔执行并从数据库中提取数据并更改框的颜色。在控制台上我也可以看到那些ajax代码。如何确保这些代码执行各自的功能,并且只有输出框显示在div2?

2 个答案:

答案 0 :(得分:0)

使用jquery。

$("div.div1").click(function(){
    $.ajax("file1.php").done(function(data){
        $("div.box").html=data;
    });
});

所以,当你点击div1框时,它会使用ajax调用URL“file1.php”,一旦加载,它就会把这些东西扔进带有id'box'的div中。

请参阅:http://api.jquery.com/jquery.ajax/http://api.jquery.com/click/了解详情!

当然,你把脚本放在标签中,也许你需要把它放在$(文件).ready(function(){...});如果你有动态内容的话。

答案 1 :(得分:0)

基本上你不能通过JavaScript包含PHP脚本,因为PHP由服务器执行,客户端使用JavaScript,但你可以使用AJAX通过JavaScript包含和“组合”单个php文件的OUTPUT(我想这就是你的意思)。

使用Ajax,您可以加载其他网页的内容(例如div2.php)并随意使用它。例如,您可以加载div.php文件并将其放在代码中的某个位置。你可以在W3Schools找到一个非常好的教程。但是如果你使用JQuerys Ajax functions,代码会变得更“帅气”。