简单的Javascript错误
Simple Javascript error
我在以下代码上遇到语法错误。一旦我拿出第一行代码,警报就会弹出。我的大脑几乎死了,我找不到为什么。请帮忙。多谢。
.JS
var rss = <?php echo json_encode($test); ?>;
alert("Hello World");
更新
.html
<?php
$test=get_array();
//the $test is a multi-dimention array.
?>
<script type="text/javascript" src="js/slideshow.js"></script>
json_encode
将在失败时返回 FALSE,因此如果失败,echo false
将不输出任何内容。
所以你的代码变成了下面,这给了你一个语法错误。
var rss = ;
alert("Hello World");
编辑:从您更新的编辑来看,原因是:你不能在js文件中编写php代码。
如果在 js 文件中需要该变量,请先将其分配给全局变量。
<script type="text/javascript">
var rss = <?php echo json_encode($test); ?>;
</script>
<script type="text/javascript" src="js/slideshow.js"></script>
为避免错误,您的代码应为:
var rss = <?php echo json_encode($test) ? json_encode($test) : "''"; ?>;
alert("Hello World");
即使json_encode
返回false
,你的代码将是:
var rss = '';
alert("Hello World");
这是因为 JavaScript 抛出致命错误并停止当前脚本执行,原因如下:
var rss = <?php echo json_encode($test); ?>;
问题是这可能会返回无效的 JSON 字符串,并引发新的异常,
您可以执行的操作:
首先,您应该确定从 PHP 获得的字符串是否真的有效。由于 JSON 方法通常会抛出错误,因此您可以简单地将此变量放入try/catch
块中
try {
var rss = <?php echo json_encode($your_array); ?>;
} catch(e){
alert('Invalid JSON string');
}
在 PHP 中,还请检查它是否有效,以防止将无效的 JSON 字符串发送回 javaScipt
在.js文件中,PHP 不起作用。 它仅适用于扩展名为 .php 的文件。把你的JS代码放在PHP页面;然后它起作用了。
相关文章:
- object响应时出现对象错误javascript
- 未捕获的语法错误:javascript对象上出现意外的标记ILLEGAL
- Phonegap-Android 4.4-html5音频长度错误(javascript和媒体插件)
- 未捕获的语法错误:javascript中出现意外的标记}
- 如何从 MVC4 链接调用 Javascript 方法(错误 JavaScript 运行时错误:对象不支持此操作)
- 未捕获类型错误javascript方法
- 将字符串返回到类型为“0”的输出字段;数字“;针对用户错误javascript
- 解析器错误(Javascript初学者寻找解决方案)
- IE 错误 .JavaScript 运行时错误:对象不支持属性或方法“preventDefault”
- appendChild 不是函数错误 (JAVASCRIPT)
- 错误 JavaScript 函数
- 而循环抛出错误JavaScript
- 意外的类型错误 - Javascript,多维数组
- 语法错误:Javascript 中的意外令牌/将数据发布到 Amazon s3
- 语法错误:Javascript 中缺少指数
- 错误“JavaScript 运行时错误:查找滚动位置时无法获取未定义或空引用的属性'scrollLeft'”
- 错误 JavaScript 循环数组
- 错误:Javascript 上的 [对象对象]
- IndexedDBShim.js错误:JavaScript运行时错误:在严格模式下不允许分配只读属性
- 在Evernote listNotebooks API上获取错误-Javascript/Node.Js