Ini tidak ada hubungannya dengan jQuery atau kekhasan kode skrip sisi klien. Ini adalah masalah sisi server : Server (aplikasi sisi) tidak mengirimkan nilai Content-Type
bidang header HTTP yang diharapkan untuk sumber daya skrip sisi klien. Ini terjadi jika server Web tidak cukup dikonfigurasi, salah konfigurasi, atau aplikasi sisi server (misalnya, PHP) menghasilkan sumber daya skrip sisi klien.
Jenis media MIME yang tepat untuk implementasi ECMAScript seperti JavaScript meliputi:
text/javascript
(terdaftar sebagai usang , tidak usang; tetapi masih valid , dan didukung terbaik )
text/ecmascript
(terdaftar sebagai usang , tidak usang; tetapi masih valid )
application/javascript
application/ecmascript
Mereka tidak termasuk application/x-javascript
, karena jenis media MIME yang tercantum di atas adalah yang terdaftar di pohon standar sekarang (jadi tidak perlu, dan seharusnya tidak ada keinginan, untuk menggunakan yang eksperimental lagi). Lih RFC 4329, "Jenis Media Scripting" (2005 M) dan Uji Kasus saya : Dukungan untuk Jenis Media Scripting .
Salah satu solusinya adalah mengkonfigurasi server jika memungkinkan, seperti yang telah direkomendasikan. Untuk Apache, ini bisa sesederhana menambahkan arahan
AddType text/javascript .js
(lihat dokumentasi Apache HTTP Server untuk detailnya).
Tetapi jika sumber daya skrip sisi klien dihasilkan oleh aplikasi sisi server, seperti PHP, maka perlu untuk mengatur nilai Content-Type
bidang header secara eksplisit, karena kemungkinan default text/html
:
<?php
header('Content-Type: text/javascript; charset=UTF-8');
// ...
?>
(Pernyataan itu dan yang serupa harus didahulukan sebelum keluaran lain - lihat manual PHP -, kalau tidak badan pesan HTTP dianggap sudah dimulai dan sudah terlambat untuk mengirim lebih banyak bidang tajuk.)
Pembuatan sisi server dapat terjadi dengan mudah pada sumber daya skrip sisi klien bahkan jika Anda memiliki file .js di server, jika komentar dihapus dari mereka ketika disajikan, jika semuanya dikemas dalam satu respons besar (untuk mengurangi sejumlah permintaan, yang dapat lebih efisien), atau diminimalkan oleh aplikasi sisi server dengan cara lain.