内联.load()php而不是文件

时间:2014-03-12 23:31:49

标签: javascript php jquery

我目前正在使用.load(),如此

$(document).ready(function(){
$("#php_incl").load("lazy/geo_info.php");

但由于.php文件的内容,它无法使用该文件,因此会产生php错误。是否有可能.load()内联php?我想加载代码内联而不是通过外部.php文件。这样,php将无错误地执行,然后按预期附加到指定的div。

我想做的是:

$(document).ready(function(){
$("#php_incl").load("<?php php code blah ?>");

这不起作用,它只显示php(没有错误).load()在页面内,它不会将执行的php附加到#php_incl div。

1 个答案:

答案 0 :(得分:0)

.load()将导致HTTP请求(当数据已存在于DOM中时,这可能是无意义的)。如果确实需要/想要使用JS文件执行PHP脚本,请将以下行添加到.htaccess(MIME类型可能因服务器而异):

AddHandler application/x-httpd-php .js

为了让PHP变量可供JS使用,我建议使用这样的方法:

<?php
   $data = array(1, 2, 3);
   echo 'var data='.json_encode($data).';';
?>
console.dir(data);

只是为了关心:使JS文件可解析,因为PHP可能会导致严重的混乱。