簡體   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