PDA

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : نقطه ی تاریک ajax



آبجی
14th February 2010, 01:01 AM
امروز یکی از مشتریان خبر از وجود مشکلی در بخشی از برنامه داد که در هر شرایطی نتایج یکسانی برگشت داده میشد!
اون قسمت رو با هسته ی اصلی AJAX یعنی XmlHttpRequest پیاده سازی کرده بودم بدون هیچگونه فریمورکی…
هر چقدر برنامه رو بررسی و زیر و رو کردم مورد اشتباهی ندیدم… همه چیز درست بود.
در نهایت دنبال سایتی گشتم که از XmlHttpRequest استفاده کرده باشه. چون قبلا کدهای RapidShare رو بررسی کرده بودم، این بار نیز به سراغ سورس قسمت آپلود این سایت که از AJAX برای نمایش مقدار آپلود شده استفاده می کنه رفتم و در قسمت ارسال درخواست، مورد عجیبی رو دیدم.
RapidShare در انتهای URL متد open شیء XHR، مقدار زمان جاری رو قرار میده…!
من هم همین کار رو کردم و در کمال تعجب دیدم که برنامه به درستی کار کرد!!! بیان دلیل فنی مشکل:
از قرار معلوم، XmlHttpRequest به شدت به Caching پایبند هست و اگر URL یکسانی مرتبا به سرور ارسال بشه، گاهی اوقات تنها اولین نتیجه ی برگشتی رو نمایش میده! به همین دلیل، یک مقدار راندوم مثل زمان جاری رو به عنوان یک Query String به انتهای URL اضافه می کنند تا همیشه جدیدترین نتیجه برگشت داده بشه.
var date = new Date();
XmlHttp.open(’POST’, ‘/myPage.aspx?rnd=’ +date.getTime(), false);
موفق باشید.

استفاده از تمامی مطالب سایت تنها با ذکر منبع آن به نام سایت علمی نخبگان جوان و ذکر آدرس سایت مجاز است

استفاده از نام و برند نخبگان جوان به هر نحو توسط سایر سایت ها ممنوع بوده و پیگرد قانونی دارد