سلام.
3 تا سوال آجاکسی دارم که به ترتیب پدر من رو در آوردن »
* سوال 1- همونطور که می دونید، تو FireFox (عزیز) ، یه متد اضافی تو XMLHttpRequest هست به نام sendAsBinary که میشه باهاش هر 256 کاراکتر رو بدون محدودیت فرستاد. (مثلاً محتوای یه تصویر رو)
ولی تو IE ,و غیره اصلاً همچین چیزی وجود نداره!!!!!!!!!!!!!!!!!!!!!
خب پس من چجوری می تونم با IE محتوای Binary (دو دویی) بفرستم؟؟!؟!؟!
البته منظورم این نیست که به صورت a=b&c=d کنمش که با یه encodeURIComponent همه چیز حل باشه.
مثلاً می خوام به صورت multipart بفرستمش (یه سرچ بکنید، می فهمید multipart چه شکلیه)
خودم کلی راه رو امتحان کردم.
یکی اش این بود که :
کد:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
رو به محتوام اضافه کنم و محتوام رو ------ کنم و نتیجه این بود که سرور به صورت کاملاً ------ میگیره اش (=اتوماتیک تبدیلش نمی کنه[فرض رو بر این بگیرید که امکان decode کردنش برام وجود نداشته باشه])
و یه چیز دیگه که تو همه جا نوشتن اینه که escape ش کنم که باز هم Server خود به خود unescapeش نمی کنه!
و...
* سوال 2 - فرض کنید من یه متغیر با نام xhr دارم که توش آجاکس رو دارم.
حالا اگر بخوام تو رویداد onreadystatechange حذفش کنم باید چه کنم؟
کد:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
و
کد:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
رو امتحان کردم ولی نشد!
میگه الان نمی تونی حذفش کنی.
می خوام حذفش کنم که بار صفحه کم بشه. (فرض رو بر این بگیرید که 1000 بار تابع XMLHttpRequest رو new کرده باشم و تو 1000 تا متغیر گذاشته باشمش.)
* سوال 3- (فرض رو همون 1000 تای بالا بذارید) من تو رویداد onreadystatechange چجوری می تونم شیء XMLHttpRequest م رو داشته باشم؟
تو فایر (عزیز) اینجوری میشه:
کد:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
که هر دوتاش همون xhr خودمه.
ولی تو IE (لعنت الله علیه! [شوخی بود. بهتون بر نخوره!]) ev وجود نخواهد داشت و this هم بهم شیء Windowم رو میده.
در ضمن window.event و this.event هم null ه!!!
این شما و این 3 سوال من. امیدوارم قبل از سال جدید بهم جواب بدید.
مرسی.