JSONを使うとFireFoxで「XML パースエラー: 構文エラーです。」と出る

いくつかのブラウザで確認したとき、FireFoxだけ、「XML パースエラー: 構文エラーです。」と、なぞのエラーが出ました。

しかもローカル環境(MAMP)上ではエラーが出ないのに、WEBサーバーにアップするとエラーが出ます。

XML パースエラー: 構文エラーです。

FireFoxのウェブ開発ツールは、JSONファイルを指していますが、どこにも不備は見当たらず、プログラムも正常に動作しています。

エラーの原因

JSONファイルなのに「XML パースエラー」となっていますので、JSONファイルが正しく認識されていないような状態です。こんなときはWEBサーバー側でMIMEタイプが設定されていないことが考えられます。

JSONは比較的新しいフォーマットなので、古いWEBサーバーだったり、WEBサーバーを作る人によってはMIMEタイプが設定されていない場合があります。

MIMEタイプを設定する

エラーは出ているものの、プログラムの動作自体に支障はないのでこのまま放置しても特に問題はありませんが、ちょっと気持ちが悪いので、MIMEタイプを設定してエラーを解消します。

今回使用しているサーバーは.htaccessが使えたため自分でMIMEタイプを設定することができました。以下の記述でエラーは解消されました。

.htaccess
AddType application/json .json

.htaccessが使えない場合はサーバー管理者に問い合わせて設定してもらう必要があります。

最終更新日:2021/07/30