2015-04-04 135 views
2

为什么我的代码不工作?JavaScript innerHTML include php

function _(x){ 
    return document.getElementById(x); 
} 

function friends(){ 
    _("right").innerHTML = '<?php include_once "friendlist.php";?>'; 
} 

结果:

<!--?php include_once "friendlist.php";?--> 

我怎样才能解决呢?

+0

你想要什么? – 2015-04-04 07:12:15

+0

它应该点击加载php文件转换为div的朋友 – User 2015-04-04 07:13:37

+0

使用_(“right”)。innerHTML ='<?php echo include_once“friendlist.php”;?>'; – Saty 2015-04-04 07:16:04

回答

1

使用它会工作

<div id="right"> 
    <script> 
     document.write('<?php echo include_once "include.php";?>'); 
    </script> 
</div> 

或I测试下面的代码也将工作

<body> 
    <div id ="right" > 

    </div> 
    </body> 

    <script> 
    function friends(){ 
    var x=document.getElementById("right"); 
    x.innerHTML = '<?php include_once "include.php";?>'; 
    }  
    friends();  
</script> 
+0

我怎么做到这一点onclick? – User 2015-04-04 07:25:56

+0

@用户检查我更新的答案..第二个选项也适用于我你可以打电话给朋友()点击事件 – 2015-04-04 07:31:30

+0

返回:未捕获ReferenceError:朋友没有定义 – User 2015-04-04 07:47:05

3

你必须做类似下面这段代码

$(document).ready(function(){ 
    $("#your_id").click(function(){ 
    $("#your_div").load('friendlist.php'); 
    }); 
}); 
0
<script> 
$(document).ready(function(){ 
     $("#id").click(function(){ 
     $("#div").load('friendlist.php'); 
     }); 
    }); 
</script> 

试像这样...

0

这是不可能的,因为php在服务器上工作,而不是在浏览器中。 使用:

$("div").load("php_file_name")

+0

为什么它不可能?你有没有测试任何例子? – 2015-04-04 07:57:03

+0

,因为PHP需要刷新浏览器或AJAX请求工作 – user3252197 2015-04-04 08:05:36

+0

请试试我的答案。它会工作 – 2015-04-04 08:06:49

0

如果你的代码可以工作,那将是严重违反安全的行为。好东西是你不能通过浏览器注入和执行php代码:)你可以把php标签放在html文件中,你可以显示它,但它甚至不会被服务器传递,更不用说执行它了。

上,你可以在server创建friendlist.php并另一方面肯定:

比你做你的HTML/JS在browser/client

_("right").innerHTML = ajax('http://yout_site.com/friendlist.php'); 

顺便说一句,如果你使用JavaScript从服务器请求的东西,然后在浏览器中,它被称为AJAX显示它;)

只是为了好玩,你也可以使用http://www.upiur_site.com/friendlist.php'>来避免ajax。但是这有很多缺点。 对AJAX功能利用图书馆,写自己的...

编辑:

我错过了第三个选项,如果服务器设置为解析.js文件。在这种情况下,将工作。

+0

感谢你,我确定我的friendlist.php回应html数据 – User 2015-04-18 06:08:39