inline .load()php而不是来自文件



i当前使用的.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。

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

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可能会导致严重的混乱。

最新更新