いくつかのケースを想定し、テストしてみましたが、現象が再現できませんでした。サーバの設定の問題も考えられますので、ApacheやPHP等の設定を確認してみてください。
それでも解決しないようであれば、サーバについて詳細を教えていただけますか?
上記修正コードを入れたら解決しましたが、他の環境では皆さん問題が無いという事ですよね。
JQueryによるAjaxの動作不具合ですが、ApacheやPHPの設定はどのあたりをチェックすれば良いでしょうか。環境はCentOS6 Apache2.2.15 PHP5.3.3 です。
ChromeのDeveloperToolで確認すると、一覧が出ない時と一覧が出る時(=上記修正コードを入れた後)とで、admin-ajax.php からのresponse dataとして返されてきているメディア一覧のJSONデータは1バイトも違いがありません。response headerを見比べてみるとContent-typeの違いだけです。
Content-typeを変えるだけで解決したという事は、text/htmlで返されたJSONデータをJQueryが処理できて居ないように思うのです。
現状、VerUPのたびにadmin-ajax.phpが差し替わり、不具合が再発してしまって毎回修正に追われているので、もし環境の問題であれば環境を修正して解決したいです。
メディア一覧が表示されない(ロード中の画像がくるくる回り続ける)場合のresponse header
HTTP/1.1 200 OK
Date: Wed, 25 Feb 2015 21:13:57 GMT
Server: Apache/2.2.15 (CentOS)
X-Powered-By: PHP/5.3.3
Access-Control-Allow-Origin: http://www.example.jp
Access-Control-Allow-Credentials: true
X-Robots-Tag: noindex
X-Content-Type-Options: nosniff
Expires: Wed, 11 Jan 1984 05:00:00 GMT
Cache-Control: no-cache, must-revalidate, max-age=0
Pragma: no-cache
X-Frame-Options: SAMEORIGIN
Content-Length: 1370
Connection: close
Content-Type: text/html; charset=UTF-8
メディア一覧が表示される場合のresponse header
HTTP/1.1 200 OK
Date: Wed, 25 Feb 2015 21:18:39 GMT
Server: Apache/2.2.15 (CentOS)
X-Powered-By: PHP/5.3.3
Access-Control-Allow-Origin: http://www.example.jp
Access-Control-Allow-Credentials: true
X-Robots-Tag: noindex
X-Content-Type-Options: nosniff
Expires: Wed, 11 Jan 1984 05:00:00 GMT
Cache-Control: no-cache, must-revalidate, max-age=0
Pragma: no-cache
X-Frame-Options: SAMEORIGIN
Content-Length: 1370
Connection: close
Content-Type: application/json; charset=UTF-8