質問: jQueryで$.ajaxを使いデータを取得しようとしているのですが、IEで巧く動作しません。 $.ajax自体が動かないのではなく、以下の条件下でエラーが出ているようなのです。 ご教授宜しくお願い致します。 ``` $.ajax({ type: "GET", url: "/get.php", data: data, success: function (html) { }, error: function (XMLHttpRequest, textStatus, errorThrown) { alert('ERROR!'); } }); ``` get.phpは、MySQLからデータをSELECTして返すだけのものです。 こちらはIEでも他のブラウザでもエラー無く正常に動作しています。 ですが、 ``` $.ajax({ type: "GET", url: "/insert.php", data: data, success: function (html) { }, error: function (XMLHttpRequest, textStatus, errorThrown) { alert('ERROR!'); } }); ``` insert.phpでデータを保存しようとすると、エラーになります。(ERROR!アラート表示) プログラム側がおかしいのかなと思ったのですが、Chrome等別のブラウザでは問題なくINSERT、そこから先の処理も問題なく動いています。 INSERTしているのは、 ``` DB::table('user')->insert([ 'name' => $inputs['name'], 'member_host' => $_SERVER["REMOTE_ADDR"] ]); ``` と言うような、ごく簡単なものなのです。 Chromeでは問題なく動作するのですが、IEではERROR!になります。 INSERTしているPHP部分をコメントアウトすると、IEではエラーが出ません(先の処理に進みます) また、一度コメントアウトして先に進んで、そこからPHP側のコメントアウトを戻すと、それ以降はIEでもエラーが出ず、INSERTも無事に行われるようになりました。 ただ、キャッシュやクッキーをクリアしてもう一度チャレンジすると、やはりERROR!がでます。 PHPのバージョンは7.2、Laravelバージョンは5.1です。 IEだけエラーが出てしまう理由は何なのでしょうか? --- 追記 検証したIEのバージョンは11です。 ご助言頂きまして色々検証してみたのですが、Chrome DevToolsでは特にエラー表示が出ず、IEのツールでは500 Internal Server Errorが出ていました。
回答: 500 Internal Server Errorが発生との事で、サーバー内部エラーなのでLaravelのstorage/logsにエラーログが出力されていないか確認してみてください。Laravelのログが無い場合は、WebサーバーでエラーになっているのでApacheかNginx等のエラーログ出力先を確認してみてください。