繁体   English   中英

处理JavaScript中不存在的变量

[英]Dealing with a non-existent variable in JavaScript

我正在使用胡子从一些PHP代码加载属性,如下所示:

PHP:

$data['foo'] = getFooAsJSON();

JavaScript:

var bar = <%&foo%>;

这里的问题是,当<%&foo%>有时不存在,因此JS变为:

var bar = ;

引发语法错误。 我想将bar设置为null作为后备,但是鉴于<%&foo%>返回任何内容,我不确定如何在不调用语法错误的情况下执行此操作。

有任何想法吗?

名称getFooAsJSON建议它返回JSON(这是一种文本符号),并因此返回一个字符串。 该字符串不能为空,并且是有效的JSON; 它必须有东西

如果没有返回值,我建议返回"null" ,它是有效的JSON,因此也是有效的JavaScript。 然后你会得到

var bar = null;

...在您的JavaScript中。

您可以为您的PHP请求提供一个默认参数。

PHP v5.3及更高版本

$data['foo'] = getFooAsJSON() ?: 'null';

PHP v5.2及更低版本

$jsonData = getFooAsJSON();

$data['foo'] = $jsonData ? $jsonData : 'null';

感谢TJ Crowder提供有关有效JSON的注释。

暂无
暂无

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

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