1
/
5

PHPからJavaScriptに変数の受け渡しで躓いた事

弊社エンジニアブログからの転送です
詳しくは
https://www.aska-ltd.jp/jp/blogs
をご覧ください。

PHPからJavaScriptに変数を受け渡しして、処理を行おうとしても失敗する場合が発生!!

結論から言いますと、空文字列チェックが必要でした。

変数を下記のように宣言し、

$search = '';

JavaScriptファイルに変数を受け渡し部分も下記のように宣言致しました。

<?php
echo '<script>', PHP_EOL;
echo 'var search = ', $search, ';', PHP_EOL;
echo '</script>', PHP_EOL;
?>

コンソールを確認すると

Uncaught SyntaxError: Unexpected token ';'

どうやら予期しない「;」でエラーが発生しているみたいです。

もし、変数に値が入らずにそのまま受け渡しを行うと

var search = ;

変数に入れる値がありませんね... (NULLの場合でも同じでした)

受け渡し前に空文字列チェックとして下記を追加してみました。

$search = $search != '' ? $search : '""';

変数に値が入らなくても

var search = "";

と空文字列が入るようになりましてエラーが出なくなりました。

空文字列もしくはNULLを受け渡しする可能性があるときは注意しましょう。


株式会社あすかでは一緒に働く仲間を募集しています
今週のランキング