Backbone: عندما أنقر على زر الرجوع ، يتم عرض json

تم إنشاؤها على ٢٤ سبتمبر ٢٠١١  ·  10تعليقات  ·  مصدر: jashkenas/backbone

لدي تطبيق ريلز باستخدام العمود الفقري. عندما أنقر فوق الزر الخلفي أو الزر الأمامي بشكل عشوائي ، سأرى json.

invalid

التعليق الأكثر فائدة

شكرا!
لي

$.ajaxSetup
  cache: false

كان كافيا

ال 10 كومينتر

يمكنك تقديم مزيد من المعلومات؟ يستخدم العديد من الأشخاص العمود الفقري في الإنتاج مع ريلز في الوقت الحالي ولا يرون نفس السلوك.

يرجى تحديد حالة اختبار حتى نتمكن من إعادة إنتاج المشكلة بدقة.

أواجه نفس الشيء - كلما انتقلت إلى عنوان url خارجي (لا يتم التعامل معه بواسطة تطبيق العمود الفقري) أو أغلق علامة التبويب ثم أعود أو أعيد فتح علامة التبويب - أرى JSON. لست متأكدًا من كيفية تقديم حالة اختبار ، ولكن يمكنني مشاركة بعض التفاصيل التي قد تعطيك فكرة عما يحدث.

يستخدم التطبيق وظيفة _.delay لمزامنة مجموعة النماذج مع الخادم (collection.fetch ()). الخادم هو تطبيق RoR يخدم كلاً من التطبيق و JSON للمزامنة على نفس عنوان URL ويستخدم الرؤوس لتحديد ما إذا كان يحتاج إلى خدمة التطبيق بالكامل أو مجرد مجموعة من بيانات JSON للنماذج. هل يمكن أن تكون هذه هي المشكلة؟

فكرتي الأخرى ، هي أن المتصفح يخزن آخر طلب تم إجراؤه على الخادم ، وعندما تضغط عليه ، فإنه يعرضه. إذا تمكنت من مغادرة التطبيق بسرعة (قبل طلب المزامنة الأول) ، فإن الرجوع يعرض التطبيق (وليس JSON).

هل لديك أي أفكار حول كيفية التغلب على هذا؟

لقد حللت المشكلة من خلال القيام بذلك

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

شكرا!
لي

$.ajaxSetup
  cache: false

كان كافيا

+1

+1

واجهت نفس المشكلة في تطبيق RoR الخاص بي وعمل الحل الذي قدمته معي.

بفضلomenkingantonlitvinenko

والأفضل من ذلك ، قم دائمًا بإضافة امتداد .json بشكل صريح إلى عناوين url الخاصة بك ، ودع المتصفح يخزن كلاً من json و page html (إذا كنت لا تمانع في ذلك) ، على سبيل المثال /users/1 + /users/1.json بدلاً من الكتابة فوق إدخال ذاكرة التخزين المؤقت لنفس عنوان url. وإلا ستفقد فوائد التخزين المؤقت للمتصفح (وهو أمر جيد ، أليس كذلك؟ ؛)) فقط 2c.

Sija أنت على حق ، لكنني غيرت إلى .json صريح وعندما أقوم بإجراء اختبار ، تم تلقي نفس مشكلة json فوق الصفحة. هل لديك أي فكرة عما أفعله خطأ؟ الكالينجيون
تكس

+1

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات

القضايا ذات الصلة

cueedee picture cueedee  ·  3تعليقات

rafde picture rafde  ·  9تعليقات

gfranko picture gfranko  ·  18تعليقات

jashkenas picture jashkenas  ·  7تعليقات

zowers picture zowers  ·  11تعليقات