Jenis konten terbaik untuk melayani JSONP?

120

Saya memiliki layanan web yang ketika dipanggil tanpa menentukan panggilan balik akan mengembalikan string JSON yang digunakan application/jsonsebagai tipe konten.

Ketika callback ditentukan, itu akan membungkus string JSON dalam fungsi callback, jadi itu bukan JSON lagi yang benar-benar valid. Pertanyaan saya adalah, apakah saya harus menyajikannya seperti application/javascriptdalam kasus ini atau masih menggunakan application/json?

Zach
sumber

Jawaban:

147

Gunakan application / javascript. Dengan cara itu, klien dapat mengandalkan tipe konten tanpa harus memeriksa secara manual apakah respons memiliki padding atau tidak.

John Millikin
sumber
1
Gagal di IE 9 dengan pesan "SEC7112: Script dari xyz.com diblokir karena ketidakcocokan jenis mime" Ada ide mengapa?
Pit Digger
Jenis konten "application / javascript" mungkin tidak cocok dengan "teks / javascript" yang ditentukan dalam tag skrip (atau diharapkan secara default karena beberapa alasan)
Ievgen Lukash
Berdasarkan informasi dalam artikel ini teks / javascript dan application / javascript akan berfungsi di IE 9. Saya ingin tahu @ pit-digger jika server tidak mengembalikan header jenis konten yang benar.
spig
122

Gunakan application/json sesuai rfc4627.txt jika yang Anda kembalikan adalah JSON biasa.

Jika Anda mengembalikan JavaScript (yang sebenarnya adalah JSONP), gunakan application/javascript sesuai rfc4329.txt

Florian Bösch
sumber