আইওএস 6 এ আপগ্রেড হওয়ার পরে, আমরা সাফারির ওয়েব ভিউকে ক্যাশিং $.ajax
কলগুলির স্বাধীনতা নিতে দেখছি । এটি একটি ফোনগ্যাপ অ্যাপ্লিকেশনের প্রসঙ্গে তাই এটি সাফারি ওয়েবভিউ ব্যবহার করছে। আমাদের $.ajax
কলগুলি POST
পদ্ধতি এবং আমাদের ক্যাশেটি মিথ্যাতে সেট করা হয়েছে {cache:false}
, তবে এখনও এটি ঘটছে happening আমরা TimeStamp
শিরোনামগুলিতে ম্যানুয়ালি একটি যুক্ত করার চেষ্টা করেছি কিন্তু এটি কার্যকর হয়নি।
আমরা আরও গবেষণা করে দেখেছি যে সাফারি কেবলমাত্র ওয়েব পরিষেবাদির ক্যাশেড ফলাফলগুলি ফিরিয়ে দিচ্ছে যা একটি ফাংশন স্বাক্ষর যা স্থির এবং কল থেকে কল পরিবর্তিত হয় না। উদাহরণস্বরূপ, এমন কোনও ফাংশন কল্পনা করুন যার নাম:
getNewRecordID(intRecordType)
এই ফাংশনটি একই বারবার একই ইনপুট পরামিতিগুলি গ্রহণ করে তবে এটি যে ডেটা দেয় তা প্রতিবার পৃথক হওয়া উচিত।
আইওএস 6 টি জিপ করার জন্য অ্যাপলের তাড়াহুড়োয় অবশ্যই আবশ্যকভাবে তারা ক্যাশে সেটিংস দিয়ে খুব খুশি হয়েছিল। আইওএস 6 এ অন্য কেউ এই আচরণটি দেখেছেন? যদি তা হয় তবে এর কারণ কি?
আমরা যে কার্যকার্যটি খুঁজে পেয়েছি তা হ'ল ফাংশনের স্বাক্ষরটিকে এই জাতীয় কিছু হিসাবে সংশোধন করা:
getNewRecordID(intRecordType, strTimestamp)
এবং তারপরে সর্বদা TimeStamp
পাশাপাশি একটি প্যারামিটারে পাস করুন এবং সার্ভারের পাশের মানটি বাতিল করুন। এটি ইস্যুটি নিয়ে কাজ করে। আমি আশা করি এটি অন্য কিছু দরিদ্র আত্মাকে সাহায্য করবে যারা এই ইস্যুতে আমার মতো 15 ঘন্টা ব্যয় করে!