Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/371.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript PHP不检查脚本文件_Javascript_Php_Html - Fatal编程技术网

Javascript PHP不检查脚本文件

Javascript PHP不检查脚本文件,javascript,php,html,Javascript,Php,Html,我有一个php文件,其中包含一个javascript对象(部分由php响应)。该文件由以下程序调用: <script src="js/file.php"></script> 文件内容基本如下: <?php header('Content-Type: text/javascript'); $custom_icons = JSON_encode($object); ?> var JSON_icons = <?php echo $custom_icon

我有一个php文件,其中包含一个javascript对象(部分由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'}
};

var JSON_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元素进行了相应的响应。无效的“我认为问题在于:

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

因为
JSON\u 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'}, ...
};

注意:未定义变量:第42行C:\…\js\file.php中的图标
var JSON_icons=null; ... 变量图标=自定义图标+{ “facebook:{'name':'facebook','text':'facebook','icon_url':'img/logos/facebook.png','url':'http://www.facebook.com'}, ... };

谢谢,@Sbls

Try
var-JSON\u-icons='';
file.php的实际输出是什么?@ShankarDamodaran-JSON\u-encode生成一个符合有效对象语法的字符串
{“a”:1,“b”:2}
因此,如果在对象周围加引号,则需要对其进行解析
var\u-icons=JSON.parse('')
这是毫无意义的–请也显示生成的输出。我猜生成的PHP中有一些错误、警告或通知。如果您启用了
错误报告,它们将在输出中呈现为HTML。检查生成的PHP并确保这是合法的JavaScript。