Backbone: Ketika saya mengklik tombol kembali, json dirender

Dibuat pada 24 Sep 2011  ·  10Komentar  ·  Sumber: jashkenas/backbone

Saya memiliki aplikasi Rails menggunakan tulang punggung. Ketika saya mengklik tombol kembali atau tombol depan secara acak, saya akan melihat json.

invalid

Komentar yang paling membantu

Terima kasih!
untuk saya

$.ajaxSetup
  cache: false

sudah cukup

Semua 10 komentar

Bisakah Anda memberikan informasi lebih lanjut? Banyak orang menggunakan Backbone dalam produksi dengan Rails saat ini dan tidak melihat perilaku yang sama.

Secara khusus, berikan kasus uji sehingga kami dapat mereproduksi masalah secara akurat.

Saya mengalami hal yang sama - setiap kali saya menavigasi ke url eksternal (tidak ditangani oleh aplikasi backbone) atau menutup tab dan kemudian kembali atau membuka kembali tab - saya melihat JSON. Saya tidak yakin bagaimana saya bisa memberikan kasus uji, tetapi saya dapat membagikan beberapa detail yang mungkin memberi Anda petunjuk tentang apa yang terjadi.

aplikasi menggunakan fungsi _.delay untuk menyinkronkan koleksi model dengan server (collection.fetch()). Server adalah aplikasi RoR yang melayani aplikasi dan JSON untuk sinkronisasi pada URL yang sama dan menggunakan header untuk memutuskan apakah perlu melayani seluruh aplikasi atau hanya array data JSON untuk model. mungkinkah itu masalahnya?

Ide saya yang lain, adalah bahwa browser men-cache permintaan terbaru yang dibuatnya ke server dan ketika Anda menekannya kembali, itu hanya merendernya. Jika saya berhasil meninggalkan aplikasi dengan cepat (sebelum permintaan sinkronisasi pertama) kemudian kembali membuat aplikasi (bukan JSON).

Apakah Anda punya ide bagaimana mengatasi ini?

Saya memecahkan masalah dengan melakukan ini

$.ajaxSetup
  beforeSend: (xhr) ->
    xhr.setRequestHeader "Accept", "application/json"
  cache: false

Terima kasih!
untuk saya

$.ajaxSetup
  cache: false

sudah cukup

+1

+1

Saya memiliki masalah yang sama di aplikasi RoR saya dan solusi Anda berhasil untuk saya.

Terima kasih @omenking @antonlitvinenko

Lebih baik lagi, selalu tambahkan ekstensi .json secara eksplisit ke url Anda, dan biarkan browser men-cache keduanya, json dan html halaman (jika Anda tidak keberatan), yaitu /users/1 + /users/1.json alih-alih menimpa entri cache untuk url yang sama. Jika tidak, Anda akan kehilangan manfaat dari cache browser (yang bagus, kan? ;)) Hanya 2c saya.

@Sija Anda benar, tetapi saya mengubah ke .json eksplisit dan ketika saya melakukan tes menerima masalah yang sama dari json menimpa halaman. Apakah Anda tahu apa yang saya lakukan salah? hehe
terima kasih

+1

Apakah halaman ini membantu?
0 / 5 - 0 peringkat

Masalah terkait

cueedee picture cueedee  ·  3Komentar

azizZaben picture azizZaben  ·  5Komentar

miguelpayet picture miguelpayet  ·  9Komentar

etler picture etler  ·  13Komentar

tribalvibes picture tribalvibes  ·  11Komentar