繁体   English   中英

PHP不检查脚本文件

[英]PHP not checking script file

我有一个包含javascript对象的php文件(部分被php回显)。 该文件的调用者:

<script src="js/file.php"></script>

该文件的内容基本上是:

<?php
header('Content-Type: text/javascript');
$custom_icons = JSON_encode($object);
?>

var JSON_icons = <?php echo $custom_icons ?>;


var icons = JSON_icons + {
    "facebook": {'name': 'facebook', 'text': 'Facebook', 'icon_url': 'img/logos/facebook.png', 'url': 'http://www.facebook.com'}
};

请忽略由于脚本缩短而可能出现的任何编码/语法错误。 我遇到的问题是,在调用脚本时,javascript会引发错误:

Uncaught SyntaxError: Unexpected token < 

从根本上讲,这意味着php没有遍历文件并打印出应有的内容。 它基本上使文件保持不变,而php代码仍然保留在那里。

我该如何解决? 我真的在这里迷路了。

谢谢!

更新: PHP实际上检查了文件,发现了一些错误,并因此使用html元素回显了它们。 无效的“ <”令牌来自php打印的<br/> ,而不是<?php标记本身,就像我(笨拙地)认为的那样。

我认为问题是这样的:

var icons = JSON_icons + {
    "facebook": {'name': 'facebook', 'text': 'Facebook', 'icon_url': 'img/logos/facebook.png', 'url': 'http://www.facebook.com'}
};

因为JSON_encode($object)导致以{开头,以}结尾的字符串,所以您的结果会产生混淆... JSON_icons + { ...导致... }{ ... ,这会导致意外的令牌错误。

抱歉,我不好。 PHP会检查文件。 无效令牌实际上是php打印的错误消息的一部分。 这是通过浏览器访问时file.php的外观:

<br />
<b>Notice</b>:  Undefined variable: icons in <b>C:\...\js\file.php</b> on line <b>42</b><br />

var JSON_icons = null;

...

var icons = custom_icons + {
    "facebook": {'name': 'facebook', 'text': 'Facebook', 'icon_url': 'img/logos/facebook.png', 'url': 'http://www.facebook.com'}, ...
};

PS:谢谢,@ Sbls

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM