صفحه 2 از 2 اولاول 12
نمایش نتایج 41 تا 69 از 69

نام تاپیک: تکنولوژی جدید AJAX

  1. #41
    کاربر دائمی آواتار dot_net_lover2
    تاریخ عضویت
    اردیبهشت 1383
    محل زندگی
    شیراز
    پست
    324

    Thumbs up Atlas At Last

    نقل قول نوشته شده توسط DelphiAssistant
    استفاده از Ajax در ASP.NET به سادگی انداختن چند کامپوننت بر روی فرم و تنظیم یک Property است. بعدش دیگه برو دنبال کارت! فکر نمیکردم اینقدر ساده باشه.

    بد نیست شما هم یک سری بزنید و خلاصه حالی به حولی: http://atlas.asp.net
    حتما بعد از مراجعه به سایت فوق این Video را Download کنید .
    http://download.microsoft.com/downlo..._net_atlas.wmv

    پس از مشاهده هم به ویژگی های Atlas پی خواهید برد و هم به قدرت بالا و سهولت در استفاده از آن.

    جهت بهره گیری از Atlas ٬ فایل زیر را Download و سپس نصب نمایید.
    http://download.microsoft.com/downlo...AtlasSetup.msi

    توضیحات مرتبط با این تاپیک :
    http://msdn.microsoft.com/msdnmag/is...t/default.aspx

  2. #42
    خیلی عالی !!
    خیلی وقت بود به این جا سر نزده بودم روزی که این تاپیک را ایجاد کردم فکر نمی کردم اینقدر استقبال بشه . از همه ممنونم و از همه تقاضا دارم که کمک کنن که این یه تاپیک پر با ر در زمینه اجکس بشه .
    متشکرم
    آخرین ویرایش به وسیله shahram1980 : پنج شنبه 02 شهریور 1385 در 10:37 صبح

  3. #43
    کاربر دائمی آواتار dot_net_lover2
    تاریخ عضویت
    اردیبهشت 1383
    محل زندگی
    شیراز
    پست
    324
    اگر کلیپی را که در پست قبلی Link دادم مشاهده کرده باشید ٬ متوجه خواهید شد که مثلا در هنگام ارسال پاسخ در همین سایت از این تکنولوژی استفاده شده و جمله"نوشته شما ..." که در هنگام ارسال مشاهده میکنید یک Progress است که نیز با این تکنولوژی پیاده سازی شده است.

  4. #44
    سلام دوستان
    من اخیرا روی یک پروژه بنام ALI FRAMEWORK کارکردم و تغریبا تمام شده .

    مثل AJAX PRO هست
    اما به برنامه امکان BACK - FORWARD و حتی Book Mark میده

    کارکردن باهاش هم خیلی سادست .

    تموم شد میزارم تستش کنید.


    موفق باشید

  5. #45
    کاربر جدید آواتار monster_ant
    تاریخ عضویت
    تیر 1385
    محل زندگی
    آسمون
    پست
    22

    مشکل در نمایش تصویر loading....

    من از magicajax در طراحی صفحاتم استفاده کردم...... برای نمایش تصویر loading یا هموم please wait در هنگام لود صفحه از کد جاوا اسکریپت زیر استفاده کردم که قبل از تگ <form/> میگیره.....



    <
    scripttype="text/javascript">


    var elem = document.createElement("div");


    elem.style.position =
    'absolute';


    elem.style.height = 17;
    elem.style.paddingLeft =
    "3px";


    elem.style.paddingRight =
    "3px";


    elem.style.fontSize =
    "11px";


    elem.style.fontFamily =
    'Arial, Verdana, Tahoma';


    elem.style.border =
    "#000000 0px solid";


    elem.style.backgroundColor =
    "white";


    elem.style.color =
    "Blue";


    elem.innerHTML =
    ' &nbsp; &nbsp;&nbsp; &nbsp;&nbsp;'+'<img src="../../img/loading.gif" border="0" >'+'<br/>'+'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'+'Loading....'+'<br/>'//add your message here


    elem.style.visibility =
    'hidden';


    document.body.insertBefore(elem, document.body.firstChild);
    waitElement = elem;

    </

    script>






    حال سوال من اینه که چه چوری میشه این تصویر رو وسط صفحه نمایش داد.... چون هر کاری کردم تغییر مقدار elem.style.top تاثیری در بر نداشت....... باتشکر..


  6. #46

    سلام دوستان اینم بخونید بد نیست

    برنامه های وب مبتنی بر سرویس گیرنده : AJAX و Atlas
    یکی از ویژگی های مهم برنامه های وب ، تبعیت آنان از معماری "سرویس گیرنده - سرویس دهنده" است . این بدان معنی است که پیاده کنندگان برنامه های وب می توانند به منظور تحقق پردازش های سمت سرویس دهنده و سرویس گیرنده از فن آوری های متعددی استفاده نمایند. یکی از نکات مهم در خصوص انجام پردازش های سمت سرویس گیرنده ، میزان وابستگی آنان به اطلاعات موجود در سمت سرویس دهنده است . به عبارت دیگر ، اجرای یک event handler در سرویس گیرنده تا چه میزان وابسته به کد سمت سرویس دهنده است و به منظور انجام آن چه میزان داده می بایست بین سرویس گیرنده و سرویس دهنده مبادله گردد ؟
    صرفنظر از این که به سوال فوق چه پاسخی داده می شود ، واقعیت این است که به منظور مدیریت رویدادهای محقق شده در سمت سرویس گیرنده ، می بایست ملزومات مورد نیاز ایجاد تا پیاده کنندگان بتوانند با استفاده از آنان پردازش های سمت سرویس گیرنده را مدیریت نمایند .

    پردازش های سمت سرویس گیرنده از گذشته تاکنون
    با توجه به این که پردازش های سمت سرویس گیرنده در برنامه های وب می بایست مستقل از نوع پلت فرم باشند ، بدیهی است که تمامی تلاش های انجام شده در این عرصه ، می بایست متمرکز بر روی برنامه های مرورگر باشد تا با ایجاد پتانسیل هائی در آنها ، امکان انجام پردازش های سمت سرویس گیرنده فراهم گردد . ظهور زبان های اسکریپت نویسی نظیر جاوااسکریپت و تجهیز مرورگرها به برنامه های مفسر مربوطه از جمله اقدامات عملی دراین عرصه است . استفاده از زبان جاوااسکریپت به منظور کدینگ پردازش های سمت سرویس گیرنده دارای قدمتی چندین ساله است . در ادامه ، قابلیت های جدیدی به مرورگرها اضافه گردید تا پیاده کنندگان بتوانند به کمک آنان برنامه های وب سمت سرویس گیرنده را ایجاد نمایند . هم اینک ، تمامی مرورگرهای متداول از یک مدل شی گراء موسوم به DOM ( برگرفته از document object model ) استفاده می نمایند و تعداد اندکی از آنها از یک ویژگی جدید با نام XMLHTTP استفاده می نمایند که به کمک آن ، سرویس گیرندگان و سرویس دهندگان می توانند بدون نیاز به انجام یک postback کامل و round trip با یکدیگر و به صورت مستقیم ارتباط برقرار نمایند.
    XMLHTTP ، شامل مجموعه ای API ( رابط برنامه نویسی ) است که امکان ارسال و یا دریافت داده به صورت باینری ، HTML و XML را از سرویس دهندگان وب بر روی اینترنت و به کمک پروتکل HTTP فراهم می نماید . در مواردی که نیاز به داده موجود در سمت سرویس دهنده می باشد ، XMLHTTP به صورت پیوسته اقدام به ارسال درخواست خود برای سرویس دهنده می نماید تا آخرین اطلاعات را بدون نیاز به refresh کردن مدام مرورگرها ، بازیابی نماید . در واقع ، به کمک فن آوری فوق ، سرویس گیرندگان قادر به مبادله غیرهمزمان با سرویس دهنده بوده و می توانند اقدام به ارسال و یا دریافت داده XML بدون نیاز به انجام یک round trip کامل که باعث تولید مجدد یک صفحه می گردد ، نمایند .
    ماحصل این تحولات ، ظهور نسل جدیدی از برنامه های وب نظیر Microsoft Virtual Earth و Microsoft Windows Live است . ایجاد چنین برنامه های وبی کار ساده ای نخواهد بود و پیاده کنندگان می بایست شناخت مناسبی نسبت به جاوااسکریپت و مدل DOM داشته باشند که ممکن است در هر مرورگر متفاوت باشد . علاوه بر این ، جاوااسکریپت تمامی ویژگی های یک زبان شی گراء را ارائه نمی نماید و بسیاری از ملزومات مورد نیاز پیاده کنندگان برنامه های وب در فریمورک دات نت را تامین نمی نماید ( نظیر type-safe ) .

    ایجاد برنامه های وب با تاکید بر انجام پردازش سمت سرویس گیرنده ، نیازمند ملزوماتی نظیر
    یک زبان برنامه نویسی و پلت فرم پیاده سازی جدید است .

    AJAX ( برگرفته از asynchronous JavaScript and XML )
    پیاده سازی برنامه های وب با استفاده از فن آوری های اشاره شده ( اسکریپت نویسی سمت سرویس گیرنده و مبادله غیرهمزمان با سرویس دهنده ) ، AJAX نامیده می شود . AJAX ، پیاده کنندگان را قادر به تولید صفحاتی می نماید که از توان پاسخگوئی بسیار مطلوبی در سمت سرویس گیرنده متناسب با رویداد ایجاده شده ، برخوردار می باشند . چراکه آنها از اسکریپت های سمت سرویس دهنده برای دستیابی و مدیریت عناصر بخش رابط کاربر استفاده می نمایند . علاوه بر این ، با توجه به مبادله غیرهمزمان داده به منظور ارسال و دریافت داده ، امکان انجام عملیات مورد نظر بر روی داده بدون وقفه و ازدست دادن state وجود خواهد داشت . Microsoft Virtual Earth و برنامه سرویس گیرنده نامه های الکترونیکی Outlook Web Access ، دو نمونه از برنامه های سبک AJAX ، می باشند .

    Atlas : تلاش‍ی در جهت ایجاد یک پلت فرم پیاده سازی جامع
    فن آوری جدید ASP.NET با نام Atlas ، مجموعه ای از فن آوری های مایکروسافت را شامل می شود که با تمرکز بر روی اصول AJAX ، سعی در توسعه و بهبود آن را دارد .
    Atlas ، یک فن آوری جدید در عرصه پیاده سازی برنامه های وب ASP.NET است که کتابخانه های اسکریپت سرویس گیرنده را با فریمورک پیاده سازی مبتنی بر سرویس دهنده ASP.NET 2.0 ترکیب می نماید . در واقع ، Atlas به پیاده کنندگان برنامه های وب یک پلت فرم مناسب به منظور پیاده سازی صفحات وب مبتنی بر سرویس گیرنده را ارائه می نماید که قبلا" مشابه آن در خصوص صفحات وب مبتنی بر سرویس دهنده توسط ASP.NET ارائه شده بود . با توجه به این که Atlas ، به عنوان یک پتانسیل اضافه در کنار ASP.NET مطرح می باشد ، بدیهی است که کاملا" سازگار با سرویس های مبتنی بر سرویس دهنده باشد . با استفاده از Atlas ، می توان بخش قابل توجهی از پردازش های مورد نیاز یک برنامه را به سمت سرویس گیرنده انتقال داد ( fat-client ) . در چنین مواردی ، امکان ارتباط سرویس گیرنده با سرویس دهنده در background فراهم می گردد. ماحصل این فن آوری ، ایجاد برنامه های وبی است که علاوه بر ارائه امکانات مناسب در لایه رابط کاربر ( UI ) ، دارای توان پاسخگوئی بالائی می باشند و به سادگی می توانند با سرویس دهنده ارتباط برقرار نمایند .

    مفاهیم فنی اولیه AJAX
    در AJAX ، پیاده کنندگان می توانند سرویس های وب را بطور غیرهمزمان و از طریق اسکریپت های سمت سرویس گیرنده و با استفاده از شی XMLHTTPRequest فراخوانده تا اطلاعات به عنوان داده XML بسته بندی و در ادامه آنها را بر روی شبکه ارسال نمایند . بدین منظور شی XMLHTTPRequest یک شی پراکسی را ارائه می نماید تا به کمک آن امکان فراخوانی از راه دور و مبادله داده فراهم گردد . در فن آوری AJAX از زبان های اسکرپیت سمت سرویس گیرنده نظیر جاوااسکریپت بطرز گسترده ای استفاده می گردد . از جاوااسکریپت در مواردی نظیر فراخوانی از راه دور روتین ها ، انجام پردازش های مورد نیاز یک برنامه در سمت سرویس گیرنده و ایجاد ویژگی های پیشرفته ای در سطح لایه رابط کاربر استفاده می شود .
    AJAX علاوه بر جاوااسکریپت از چندین فن آوری دیگر در سمت سرویس گیرنده نیز استفاده می نماید :

    *

    DOM : به کمک فن آوری فوق ، عناصر موجود در یک صفحه HTML به عنوان مجموعه ای از اشیاء استاندارد ( نظیر document و windows ) در نظر گرفته می شوند . بدین ترتیب ، امکان دستیابی و انجام عملیات دلخواه بر روی آنان از طریق کد فراهم می گردد .
    *

    DHTML ( برگرفته از Dynamic HTML ) : فن آوری فوق ، توانمندی HTML را به منظور واکنش مناسب در خصوص عملیاتی که توسط کاربران انجام می شود ( نظیر درج داده ) با استفاده از اسکریپت های سمت سرویس گیرنده و بدون نیاز به یک round trip افزایش می دهد .
    *

    رفتارها ، شامل روشی مناسب به منظور برخورد سیستماتیک با عملیاتی نظیر drag and drop در سطح لایه رابط کاربر و مرتبط با عناصر موجود بر روی یک صفحه می باشد .
    *

    عناصر : اشیاء سفارشی شده جاوااسکریپت می باشند که پتانسیل های توسعه یافته ای را در سمت سرویس گیرنده ایجاد می نمایند .

    چالش های فن آوری AJAX
    برنامه نویسی صفحات به سبک AJAX دارای چالش های متعددی است :

    *

    عناصر موجود در صفحات وب می بایست متناسب با شرایط هر مرورگر برنامه نویسی گردند ، چراکه هر مرورگر یک نسخه متفاوت از DOM و DHTML را ارائه می نمایند(هر چند این تفاوت ها اندک باشد) .
    *

    برنامه نویسی سمت سرویس گیرنده صرفا" با استفاده از جاوااسکریپت انجام می شود . پیاده سازی برخی از پتانسیل های AJAX می تواند برای پیاده کنندگان بسیار پیچیده باشد و نیازمند دانش بالائی در خصوص استفاده از جاوااسکریت است .
    *

    جاوا اسکریپت ، ویژگی ها و امکانات مورد نیاز پیاده کنندگان برنامه های دات نت را تامین نمی نماید ( نظیر یک رویکرد شی گراء کامل ) . علاوه بر این ، در این فن آوری از کتابخانه ای نظیر آنچه در پلت فرم دات نت ارائه شده است ،‌ استفاده نمی گردد و برنامه نویسان می بایست تمامی برنامه را از ابتدا کد نمایند .
    *

    جاوااسکریپت و پیاده سازی سمت سرویس گیرنده ، عموما" بخوبی در IDEs حمایت نمی گردند .

    فن آوری Atlas ، مسائل اشاره شده را با ارائه یک فریمورک کامل برای ایجاد برنامه های وب مبتنی بر سرویس گیرنده برطرف می نماید.

    فن آوری Atlas ،
    دارای عناصر سرویس گیرنده و سرویس دهنده ای است
    که آن را به خوبی با ASP.NET یکپارچه و مرتبط می نماید

    مفاهیم فنی اولیه معماری Atlas
    در ساده ترین حالت ، یک برنامه Atlas ، از کتابخانه های سمت سرویس گیرنده به منظور مدیریت رابط کاربر و فراخوانی عناصر مبتنی بر سرویس دهنده استفاده می نماید . Atlas ، همچنین عناصر سمت سرویس دهنده ای را ارائه می نماید که با سرویس گیرنده مرتبط و می توانند اسکریپت سمت سرویس گیرنده از قبل تعریف شده ای را تولید نمایند .

    عناصر سمت سرویس گیرنده Atlas
    فن آوری Atlas برای پیاده سازی برنامه های سمت سرویس گیرنده ، از مجموعه ای کتابخانه سمت سرویس گیرنده ( فایل هائی با انشعاب Js . ) استفاده می نماید که پیامد آن تعریف یک رویکرد لایه ای برای ایجاد برنامه های مبتنی بر سرویس گیرنده است . این لایه ها عبارتند از :

    *

    لایه مختص مرورگرها : با استفاده از پتانسیل های ارائه شده توسط این لایه ، اسکریپت های Atlas در اکثر مرورگر سازگار بوده و ضرورتی به نوشتن اسکریت های مختص یک مرورگر وجود ندارد .
    *

    سرویس های هسته atlas : شامل ضمائمی به جاوااسکریپت نظیر کلاس ها ، namespace ، event handler ، توارث ، نوع های داده و تسلسل اشیاء است . ویژگی های فوق یک مدل برنامه نویسی شی گراء را در اختیار پیاده کنندگان قرار می دهد تا به کمک بتوان علاوه بر سرعت در ایجاد برنامه ها از کد تولید شده نیز بدفعات استفاده نمود.
    *

    کتابخانه کلاس پایه Atlas : شامل عناصری نظیر دیباگرها ، Timers ، ردیابی و string buliders است .
    *

    لایه شبکه : این لایه با سرویس های مبتنی بر وب و برنامه ها ارتباط برقرار می نماید و مدیریت فراخوانی متدها از راه دور و غیرهمزمان را برعهده می گیرد . لایه فوق ، مدیریت فراخوانی غیرهمزمان برروی XMLHTTP را برعهده گرفته و باعث می گردد که پیاده کنندگان بدون این که درگیر پیچیدگی های موجود شوند با نوشتن چندین خط کد ، متدهای مورد نظر را فراخوانند .
    *

    لایه UI : در این لایه قابلیت های سرویس گیرنده Atlas نظیر رفتارها ، گرامر تعریفی Atlas ، عناصر UI و نسبت دهی داده ارائه می گردد .
    *

    لایه کنترل ها : این لایه کنترل های مختص atlas را برای پیاده سازی سمت سرویس گیرنده ایجاد می نماید . علاوه بر این که می توان از طریق اسکریپت به این کنترل ها دستیابی داشت ، امکان انجام عملیات متفاوتی نظیر نسبت دهی داده نیز وجود دارد. کنترل های Navigation و data-bound listview نمونه هائی در این زمینه می باشند .
    *

    یک مدل برنامه نویسی تعریفی که پیاده کنندگان را قادر می سازد عناصر atlas را با روشی مشابه کنترل های سرویس دهنده ASP.NET ایجاد نمایند .

    فن آوری Atlas را می توان
    به عنوان کتابخانه های اسکریپت سرویس گیرنده تصور نمود که زیرمجموعه ای از معماری ASP.NET بر روی ‌سرویس دهنده می باشند

    برای پیاده سازی برنامه های وب سمت سرویس گیرنده ، فن آوری Atlas ویژگی های متعددی را ارائه می نماید . ارائه یک مجموعه API برای پیاده سازی در جاوااسکریپت ، قابلیت سازگاری اتوماتیک با مرورگرها و یک مدل تعریفی برای پیاده سازی سمت سرویس گیرنده ، نمونه هائی در این زمینه م‍ی باشند .

    عناصر سمت سرویس دهنده Atlas
    فن آوری Atlas ، صرفا" در ارتباط با اسکریپت های سمت سرویس گیرنده نمی باشد و از عناصر سمت سرویس دهنده ، سرویس ها و کنترل هائی استفاده می نماید که می توانند با اسکریپت های Atlas سمت سرویس گیرنده مرتبط گردند :

    *

    سرویس های وب که ویژگی های ASP.NET نظیر سرویس های پروفایل ، membership ، roles ، personalization و globalization را ارائه می نمایند .
    *

    کنترل های سرویس دهنده Atlas که کنترل های سرویس دهنده ASP.NET را reasemble می نمایند ولی اسکریپت های سمت سرویس گیرنده Atlas را منتشر می نمایند . این نوع کنترل ها ارتباط بسیار نزدیکی با کنترل های سرویس دهنده ASP.NET نظیر دکمه ها ، Label و ... دارند .
    *

    کنترل های سرویس دهنده Atlas که باعث می گردند جاوااسکریپت رفتارهای سمت سرویس گیرنده را تولید نماید . کنترل های HoverBehavior ، ClickBehavior ، Popup و AutocompleteBehavior نمونه هائی در این زمینه می باشند .
    *

    تمامی کنترل های سرویس دهند atlas در ویژوال استودیو نیر قابل استفاده می باشند. بنابراین می توان از آنان در زمان طراحی استفاده نمود ( همانند کنترل های سرویس دهنده ASP.NET ) .

    فن آوری Atlas ، اسکریپت نویسی سمت سرویس گیرنده را با پیاده سازی سمت سرویس دهنده ASP.NET یکپارچه می نماید و پیاده کنندگان می توانند از پتانسیل های ASP.NET در سمت سرویس دهنده برای برنامه های Atlas نیز استفاده نمایند .

  7. #47
    کاربر تازه وارد
    تاریخ عضویت
    بهمن 1381
    محل زندگی
    Iran
    پست
    41

    آجاکس


    مزایای استفاده از آجاکس :

    وقتی تعداد زیادی فرم و ترافیک زیاد بین سرور و کلاینت داریم.
    وقتی می خواهیم حجم زیادی داده را بدون نیاز به رفرش کردن فرم لود کنیم.

    وقتی کاربر به طور مرتب از طریق فرم می خواهد قبل ازسابمیت کردن نهایی صفحه، داده ها را برایش نشان دهیم.

    وقتی زمان پاسخ گویی اپلیکیشن بالا و مشکل آفرین است .
    وقتی می خواهیم زمان لود آخرین دیتا در کوتاه ترین زمان ممکن باشد.





    معایب آجاکس :



    1- میتواند هزینه و زمان برنامه نویسی را زیاد کند .
    2-هنوز کامپوننت های زیادی با این تکنولوژی نوشته نشده.
    3-همه مشکلات مربوط به سیکیوریتی و ایمنی پاسخ داده نشده است .

    4- عملیات کلیدهای نویگیتور و هیزتوری در اکسپلوررواقعی نیست .چون آدرس عوض نشده ولی دیتا عوض می شود .


    5- مهمترین مشکل این است که بسیاری از کاربران اجازه اجرای جاوا اسکریپت را درIe. نمی دهند.

    6- نمی توانید دیتا را از سرور دیگری بجز سرور خودتان بیاورید.

    وقتی از آجاکس نمی توانید استفاده کنید :


    وقتی صفحات شما استاتیک است .


    وقتی سیستم شما با برازر قدیمی باید کارکند.


    وقتی کاربر سیستم شما ارساال و دریافت زیادی ندارد . مثلا شرکت بسیار کوچک است


    وقتی زمان و پهنای باند در لود داده ها برایتان مسئله مهمی نیست



    وقتی اپلیکیشن شما چندان دیتای داینامیکی ندارد .


    وقتی تیم پیاده سازی قوی ندارید!!!

    وقتی کاربر سیستم شما اجازه اجرای جاوا اسکریپت را درآی ای. نمی دهد



    وقتی می خواهید دیتا را از سرور دیگری بجز سرور خودتان بیاورید.

    http://www.interaktonline.com/Support/Articles/Details

    نکته :
    آجاکس خالص تکنولوژی آجاکس است که بدون هیچ دی ال ال اضافه خودتان آن را کدنویسی می کنید.
    نقطه مقابل آن استفاده از انواع و اقسام دی ال ال های نوشته شده با این تکنولوژی ست که نمی دانید درونش چه خبر است
    و برای یادگیری آن هم باید بیشتراز خود آجاکس خالص وقت بگذارید .



    یک مثال ساده و آسان با آجاکس خالص :



    Simple Pure Ajax In .Net Frame Work :

    با این مثال شما دو کومبوی مرتبط با هم را در صفحه وب خود را با تکنولوژی آجاکس پرمی کنید
    :
    مثلا داده های استان ها در کومبوی اول است و با تغییر استان ، داده های شهرستانهای هر استان با آجاکس در کومبوی دوم لود می شود.


    برای راحت فهمیدن آجاکس این سه مرحله را جدا کنید.


    1- فرم اصلی و درخواست داده
    رفتن به سرور با کلیک روی اولین کومبو. کومبوی استان :
    2- فرم جواب دهنده
    ResponsePage.aspx
    تشخیص اینکه درخواست از طرف کدام کومبو و با چه مقداری است-
    گرفتن داده های مورد نظر کاربر از بانک
    ارسال برای کاربر با فرمت ایکس ام ال
    3- باز گشت به فرم اصلی

    Msxml2.XMLHTTP گرفتن داده ها با اکتیو ایکس
    یا
    Microsoft.XMLHTTP

    پر کردن داده ها با جاوا در کنترل مورد نظر



    حالا تشریح این سه مرحله :

    1- در فرم اصلی با نام
    WebFrom1.aspx
    دو عدد کومبو می گذارید داده های اولی اش را با نام و اندیس استانها پر می کنید و دومی را خالی می فرستید
    برای رفتن به سرور با کلیک روی اولین کومبو. کومبوی استان

    برای این کار باید هنگام
    onchange
    تابع جاوایی خاصی را صدا بزنیم
    برای افزودن این امکان به کومبو :

    Dropdownlist1.Attributes.Add("onchange", "return GetDataViaAJAX(Dropdownlist1,Dropdownlist2);");


    این تابع جاوایی
    (GetDataViaAJAX)
    به صفحه ای در سرور می رود و داده ها را می گیرد.
    فرض کنید نام آن صفحه این است :
    ResponsePage.aspx

    2-حالا به سرور آمده ایم در صفحه
    ResponsePage.aspx
    باید بفهمیم در خواست از طرف کدام کومبو به ما شده تا داده های متناسب را حاضر کنیم و بفرستیم.
    از کجا بفهمیم ؟ از
    که در کد های جاوایی قبلا خودمان ست کرده ایم QueryString:


    string combovalue = Request.QueryString["Dropdownlist1"];



    اگر مقداری داشتیم یعنی در خواست کاربر پر کردن شهرستانهای این استان است


    if (combovalue !=null )
    {
    Response.Clear();
    Response.ContentType = "text/xml";
    Response.Write(FillShahrestanData( combovalue));
    //گرفتن داده ها از اسکیوال سرور و فرستادنش با فرمت ایکس ام ال برای کاربر


    Response.End();

    FillShahrestanData
    }


    تابعی ست که کد استان را می گیرد و شهرستان های متناسب با آن را در یک دیتا تیبل از یک دیتا ست پر می کند و آن را به صورت فرمت
    XML
    برمی گرداند..
    مثلا این طوری :

    public string conectionString = "data source=mySql ;initial catalog=mydatabase;user id=sa ; ";

    public string FillShahrestanData(string combovalue)
    {
    try
    {
    DataSet ds = new DataSet();
    sqlstr =" Select index , sharestanName From List Where ostanIndex ="+combovalue;
    SqlDataAdapter da =new SqlDataAdapter(sqlstr, conectionString);
    da.Fill(ds ,"responseDataset" );//responseDataset نام جدول جواب است
    da.Dispose ();
    return ds.GetXml() ;
    }
    catch
    {
    return null ;
    }
    }



    3- حالا به مرحله خوبش رسیدیم

    مرحله سوم این است که کاربر با همان کدهای جاوایی و با تکنولوژی آجاکس داده هارا بگیرد و در کمبوی دوم یعنی شهرستان نمایش دهد
    این کار را تابع
    ResponseShow()
    انجام می دهد
    در دو مرحله اول گرفتن داده ها از
    Msxml2.XMLHTTP
    یا
    Microsoft.XMLHTTP
    بعد لود کردن آن در کومبوی دوم
    LoadData()

    داده شما پر شده تکنولوژی آجاکس دراختیار شماست
    التماس دعا -بیایید برای ظهور دعا کنیم.

    راستی این هم کدهای جاوایی اش که آن را در یک فایل به نام
    TestAjax.js
    می ریزیدو
    با این تگ به صفحه اصلی تون لینک می کنید و برای کاربر می فرستید.

    <script language="javascript" src="TestAjax.js"></script>






    //****** AjaxScript.js **************//
    var responsePageName = 'ResponsePage.aspx' ;//set response page for ajax (SET BY AJAX PROGRAMER )

    var objfirstcombo; //Set Global Vaiable firstcombo for use in ProcessResponse() for clean last combo data and load new comboData
    var objsecondcombo; //Set Global Vaiable secondcombo for use in ProcessResponse() for clean last combo data and load new comboData

    // <summary>
    // GetDataViaAjax :(MAIN Proccess Send Request)
    // Send a request to server by ActiveXObject
    // this response must back from responsePageName in Same http location

    function GetDataViaAJAX(firstcombo,secondcombo)
    {
    //set combo global objects
    objfirstcombo = firstcombo;
    objsecondcombo = secondcombo;
    // set query string for send to server which recognized which combo data
    // must back from server in XML format.
    var queryString = secondcombo.id+"=" + firstcombo.value;
    var obj = SetActiveXobject(); // Set activeX object what Ajax Work by it !
    if (obj !=null)
    {
    obj.onreadystatechange = ResponseShow;//set response function in Java

    var responseURL = SetUrl( responsePageName , queryString) ;//Set Response URL

    obj.open("GET", responseURL, true); //get xml response from responseURL of server

    obj.send(null);
    }//obj
    return false;
    }

    // <summary>
    // ProcessResponse:(MAIN Proccess Received Data)
    // get xml data Backed from server
    // if data is backed , load it to the combo

    function ResponseShow()
    {
    var xmlData = GetReceivedData() ;
    if (xmlData != null )
    {
    LoadData ( xmlData );
    }
    }//end processResponse

    // <summary>
    // SetActiveXobjext : ( called in GetDataViaAJAX)
    // Set ActiveXObject Msxml2.XMLHTTP Or Microsoft.XMLHTTP
    // This object is Kernel Of Ajax for get xml data from server

    function SetActiveXobject()
    {
    try
    {
    obj = new ActiveXObject("Msxml2.XMLHTTP");
    }
    catch(e)
    {
    try
    {
    obj = new ActiveXObject("Microsoft.XMLHTTP");
    }
    catch(e1)
    {
    obj = null;
    }
    }
    //alert (obj);
    return obj ;
    }

    // <summary>
    // SetUrl : (called in GetDataViaAJAX)
    // Set entier Response URL By Adding Three Parts:
    // 1 - Current URL Whithout This page
    // 2 - Response Page Name
    // 3 - QueryString

    function SetUrl(responsePageName ,strQueryString )
    {

    var pos = 0;
    var sumpos = 0;
    currURL = (document.location.href).toLowerCase();//href or pathname is ok
    //alert(currURL);
    var endstr = currURL;
    while (pos >= 0)
    {

    pos = endstr.indexOf('/', 0 );
    endstr = endstr.substring(pos +1 ,endstr.length);//endstr.length - pos -1 );
    sumpos =sumpos + pos +1;
    }

    var pathWithoutPage = currURL.substring(0 ,sumpos );// Get CurrentURL Without Current Page Name
    var ResURL = pathWithoutPage + responsePageName +"?" +strQueryString ;// Add Three parts ;
    //DEBUG:
    //alert( vurl);
    return ResURL;
    }//SetUrl


    // <summary>
    // GetReceivedData: (called in ProcessResponse)
    // if xml file is loaded completely
    // and if everything is ok
    // return xml data

    function GetReceivedData()
    {
    var dsXml = null ;
    if (obj.readyState == 4)/*Only process if xml file is loaded completely:4="Complete" */
    {
    if (obj.status == 200) /*Only process if everything is ok*/
    {
    dsXml =obj.responseXML.documentElement;
    }//status =200
    else
    {
    alert("Error retrieving data!" );
    }

    }//readyState == 4
    return dsXml ;
    }

    // <summary>
    // LoadData :(called in ProcessResponse)
    // load xml data backed from server
    // to second combo

    function LoadData(xmlData)
    {
    ClearCombo(objsecondcombo);//Empty secondcombo options

    var itemindexColumn = xmlData.getElementsByTagName('itemindex');//Get itemIndexColumn
    var itemColumn = xmlData.getElementsByTagName('item'); // Get item Column
    var combovalue;
    var comboText;
    var listItem; //combo list item
    for (var count = 0; count < itemindexColumn.length; count++)//for all rows in index column
    {
    combovalue = (itemindexColumn[count].textContent || itemindexColumn[count].innerText || itemindexColumn[count].text);
    comboText = (itemColumn[count].textContent || itemColumn[count].innerText || itemColumn[count].text);
    listItem = new Option(comboText, combovalue, false, false);//New combo option
    objsecondcombo.options[objsecondcombo.length] = listItem; //Add combo option
    }


    }//Load Data

    function ClearCombo (combo)
    {
    for (var count = combo.options.length-1; count >-1; count--)
    {
    combo.options[count] = null;
    }


    }//ClearCombo




  8. #48

    Thumbs up ajax v 1

    امروز تو سایت ajax مایکروسافت بودم !
    نسخه 1 کتابخانه ajax مایروسافت آماده شد .

  9. #49

  10. #50
    بدون شک نوشتار هر دوی شما دوستان کامل‌تر بود اگر لینکی هم به این کتابخانه می‌گذاشتید تا دیگران استفاده ببرند. به همین خاطر، من به نیابت از شما این لینک رو قرار می‌دم تا کسانی که مایل هستن بتونن ب سایت AJAX مایکروسافت سری بزنند.

  11. #51
    دوست عزیز با تشکر از شما به خاطر این مطالب باید عرض کنم که Ajax تکنولوژی نیست بلکه یک تکنیک است که شامل مجموعه ای از تکنولوژی ها می باشد .

    http://en.wikipedia.org/wiki/AJAX

  12. #52

    atlas

    سلام
    من یک تازه وارد هستم ولی تا حدودی با ajax آشنا هستم و با بعضی از نرم افزار های atlas کار میکنم که سایت اونا را می گذارم در ضمن تو این سایت clipeها آموزشی با حالی وجود دارد که اگر اینترنت پر سرعت دارید پیشنهاد میکنم download کنید
    فعلا تا بعد
    http://ajax.asp.net/Default.aspx

  13. #53
    کاربر تازه وارد آواتار ramin2nt2
    تاریخ عضویت
    آبان 1385
    محل زندگی
    Teh
    پست
    44
    سلام دوستان

    من در استفاده از شی XMLHttp مشکل دارم

    همون طور که می دونید برای ساختن این شی در مرورگر های Mozilla از دستور
    مثلا var Req=new XMLHttpRequest()
    و در مرورگر IE از دستورات
    var req=false;0
    try
    }
    req=new ActiveXObject("Microsoft.XMLHTTP");0
    }
    catch(e)0
    }
    try
    }
    req=new ActiveXObject("Msxml2.XMLHTTP")0
    {
    catch(e2)0
    }
    req=false;0
    {
    {

    استفاده می کنیم
    وقتی که req.readyState==4 شد ، شی قابل استفاده هستش
    ولی شی req ، برای من همیشه مقدار 0 رو برمیگردونه

    چه کار کنم ؟؟؟

  14. #54
    من گمان می‌کنم که شما باید کد رو توی یک while بگذاری که این‌قدر دور می‌زنه تا ببینه که req مقدارش شده 4 اون وقت بقیه کد رو اجرا می‌کنه.

  15. #55
    کاربر دائمی آواتار رها
    تاریخ عضویت
    فروردین 1387
    محل زندگی
    بندرعباس
    سن
    40
    پست
    264
    سلام.
    من یه تحقیق مختصر راجع به اصول تکنیک آژاکس کردم که نتیجه اش رو در این تاپیک قرار دادم.
    https://barnamenevis.org/showthread.php?t=74695
    این هم لینک مستقیم دانلودش
    http://www.jaber.joolo.com/foundatio...%20ajax-fa.rar
    موفق باشید

  16. #56
    مطالب جالبی بود ولی خب این تاپیک که من دیدم همش در انحصار دات نت کار ها بود. چیزی از فریم ورک ها و تکنیک های آژاکس در PHP ندیدم.

    بهتره یک تحقیق کوچولو در مورد سرعت و فراگیری PHP بکنید من از انتخابش راضیم. حالا اگه PHP 6 بیاد جالب تر هم میشه

    لطفاً در مورد ارسال یک مقدار به سرور توضیح بدین و در مورد 2 تا از توابع OPEN و SEND ابجکت AJAX !

    در ضمن اگه جایی رو میشناسین که Tutorial های ساده و حرفه ای داره معرفی کنین.

    متشکرم.

  17. #57
    بابا اجاکس زیادی چیز پیچیده ای نیست؛ اینقدر هم دنگ و فنگ نداره.
    فقط جایی که لازمه ازش استفاده کنید؛ افراط و اهداف صرفا نمایشی باعث مبتذل شدن کار میشه.
    منکه توی پروژهء کوچیک خودم بطور مثال، فقط برای اینکه کاربر موقعی که فرم رجیستر رو پر میکنه بفهمه که نام کاربری انتخابیش قبلا رجیستر شده یا نه، از اجاکس استفاده کردم.
    در پی اچ پی دستی کد بنویسید. خیلی راحته.
    فریم ورک هم چنتایی هست که معروفترینش فکر میکنم prototype هست. من گرفتمش نگاهی بهش کردم ولی ازش استفاده ای نکردم؛ چون کلی چیز اضافه داشت که باید ازش برمیداشتم و مربوط به اجاکس نبودن. دستی نوشتم سریع و کم حجم.
    ضمنا اجاکس فقط مثل یک صفحهء پنهان هست که در درون صفحهء شما اجرا میشه و میتونید محتویات این صفحه رو بخونید (البته به این مزیت که اغلب، اطلاعات رد و بدل شده در استفاده های اجاکسی بسیار کمتر از یک صفحهء معمولی هست هم توجه کنید). بطور مثال قبلا بیشتر از فریمهای داخلی پنهان بجای XHR استفاده میشده.
    XHR ابتکار میکروسافت بود که بعدا در مرورگرهای دیگه هم معادل سازی شد. در کنسرسیوم وب هم رسمی شده و استاندارد داره.

  18. #58
    اینهم منابعی چند:

    مربوط به Dynamic script loading:
    http://www.webreference.com/programming/ajax_tech/
    http://www.webreference.com/programm...ax_tech/2.html
    فکر میکنم این تاریخچه ای باشه.

    مواظب اون دو صفحهء اول باشید؛ گویا جاوااسکریپت صفحه اشکال داره و ممکنه مرورگرتون هنگ کنه! اگر به مشکل خوردید جاوااسکریپت رو میتونید موقتا غیرفعال کنید.

    ----------------------------------------
    آموزش اصول اجاکس:
    http://developer.mozilla.org/en/docs...etting_Started
    http://www.xul.fr/en-xml-ajax.html
    http://www.xul.fr/XMLHttpRequest-object.html

    ---------------------------------------
    نقطهء شروع اولیه و سرنخها (برای تعاریف و آشنایی کلی و تاریخچه و غیره هم لازمه - درواقع اولین منبع مورد مطالعه که آخر آوردم):
    http://en.wikipedia.org/wiki/AJAX
    این هم مهمه:
    http://en.wikipedia.org/wiki/XMLHttpRequest

    ---------------------------------------
    و غیره!! (بعضی سرنخهایی رو که در مقالات ویکی اومده دنبال کنید - بنده هنوز اونها رو مطالعه نکردم بدونم بقدر کافی مناسب هستن یا نه)

    مسایل جانبی درگیر مثل آشنایی کافی و طرز استفاده از XML و JSON و غیره هم که خودشون جدا. بنده اونهایی رو که مستقیما به اجاکس مربوط میشد و قدم اوله لیست کردم.
    ضمنا درمورد Iframe هم اگر خواستید به مقالهء ویکی مراجعه کنید و همچنین W3C.

    =============

    اینهم یک مرجع دقیقتر برای درک عمیق و تخصصی XMLHttpRequest Object:
    http://www.w3.org/TR/XMLHttpRequest/

    این یکی هم بازهم مقالهء آموزشی خوبی هست:
    http://www.xml.com/pub/a/2005/02/09/...p-request.html
    دقت کنید زیرش کامنت هست که حجمش بنظر خیلی زیاد میاد در وهلهء اول؛ اما مقالهء اصلی قابل صرف وقت هست.

    =======

    نکته: اینها محتوی دو پست متوالی بوده که در فروم دیگری زده بودم. کپی و پیست کردم اینجا.

  19. #59
    . آواتار oxygenws
    تاریخ عضویت
    دی 1382
    محل زندگی
    تهران/مشهد
    پست
    6,333
    XHR ابتکار میکروسافت بود که بعدا در مرورگرهای دیگه هم معادل سازی شد. در کنسرسیوم وب هم رسمی شده و استاندارد داره.
    ممنون به خاطر مطلب کاملتون.
    البته فکر کنم، هنوز به صورت پیش نویس هست و مورد تایید W3C نباشه.
    ایمیل من
    سایت من

    عضویت در جامعه‌ی اهدای عضو

    Direct PGP key: http://tinyurl.com/66q5cy
    PGP key server: keyserver.ubuntu.com
    PGP name to search: omidmottaghi

  20. #60
    بله حق با شماست. بنده W3C Working Draft 18 June 2007 رو خوندم.
    توضیح وضعیتش در خود سند اومده؛ اما بنده باید دقت بیشتری میکردم که توجه و حضور ذهن کافی نسبت به این باریک بینی نداشتم متاسفانه.
    درواقع بیشتر منظورم این بود که بالاخره وارد کنسرسیوم وب شده و استانداردهای هرچند غیرنهایی براش وجود داره؛ نه مثل تکنولوژیهای انحصاری میکروسافت که جزو استانداردهای جهانی و مالتی پلتفرم نباشه.
    فرضا یک چیزی مثل ECMA Script. میکروسافت JScript رو داره و موزیلا JavaScript رو؛ ولی وقتی استاندارد رسمی جهانی براش باشه مشکلات به حداقل کاهش پیدا میکنه و مرورگرهای دیگه و شرکتهای دیگه هم از اون استاندارد پیروی میکنن.
    مسلما ممکنه تغییرات زیادی بکنه (ممکن هم هست تنها خیلی چیزها بهش اضافه بشه) و فعلا به مراحل نهایی نرسیده و کاملا رسمی نیست. اما بهرحال در اینکه این متد جزیی از استانداردهای رسمی آینده هست تقریبا شکی نیست.

  21. #61

    نقل قول: تکنولوژی جدید AJAX

    چرا وقتی درخواست تکراری از طریق ajax به سرور(دیتابیس) میدم ,با اینکه محتویات دیتا بیس تغییر کرده باز هم جوابی مانند جواب درخواست قبلی به من میده.
    نمیدونم تونستم خوب مشکلم و بگم یا نه ولی اگه چیزی میدونین لطف کنین...

  22. #62

    نقل قول: تکنولوژی جدید AJAX

    اگر از هسته ی اصلی AJAX استفاده می کنی باید یک مقدار راندوم (مثلا زمان جاری) رو با استفاده از کلاس date در جاوا اسکریپت ایجاد و به انتهای URL ارسالی الصاق کنید.
    درخواست های شما بنا به ذات آجاکس Cache میشن که با این روش جلوی Cache شدن اونها رو می گیری.

    موفق باشید.

  23. #63

    نقل قول: تکنولوژی جدید AJAX

    سلام با تشكر از مطالب خوبتون
    كسي تا به حال سايتي را پياده سازي كرده كه با ajax كار كند و دكمه هاي backward و forward مرورگرش (explorer) هم به درستي كار كند ؟ اگر كدهاي مربوط را داشته باشيد هم كه چه بهتر.

  24. #64

    نقل قول: تکنولوژی جدید AJAX

    فکر کنم منظورتون این باشه .
    javascript:history.back()
    این کد کار backward رو میکنه.

  25. #65

    نقل قول: تکنولوژی جدید AJAX

    سلام
    كدي كه در بالا اورده شده در حالت Ajax ي كار نمي كند. اگر شما وقتي در Gmail مشغول چك كردن Inbox باشيد و در اين حالت دكمه Back مرورگر را فشار بديد كلا از mail خودتان خارج مي شويد.همه اينها به اين خاطر است كه وقتي از Ajax استفاده مي كنيد URL صفحه تغييري نمي كند.
    مطلبي كه نوشتم خيلي خلاصه است و متاسفانه فرصت ندارم قضيه را كامل باز كنم چون هنوز راه حلي براي سئوالي كه پرسيدم پيدا نكردم ولي چند تا لينك اينجا مي گذارم هر كسي كه علاقه مند است مي تواند يه سري بزند. به هر حال اگر داريد از Ajax استفاده مي كنيد دير يا زود با مشكل من مواجه خواهيد شد.

    www.ajaxonomy.com/2007/web-design/a-better-ajax-back-button-solution

    www.robertpenner.com/experiments/backbutton/flashpage.html

    http://www.ibm.com/developerworks/library/os-php-rad1/

    خوش باشيد

  26. #66

    نقل قول: تکنولوژی جدید AJAX

    چطوری از ای جکس استفاده کنیم که google همه قسمت هایی که با ای جکس فراخوانی میشه رو بشناسه و در جستجو ها بیاد.
    من یه سایت نوشتم که کلا با ای جکسه ولی وقتی در google سرچ می کنم فقط صفحه ایندکس رو میده.
    نشانی : http://aj.irhelp.com
    ممنون میشم کمکم کنید.
    در ضمن من اصلا از xml استفاده نکردم.

  27. #67

    نقل قول: تکنولوژی جدید AJAX

    نقل قول نوشته شده توسط shahramasp مشاهده تاپیک
    مایکروسافت هم برای استفاده از Ajax در حال کار بر روی پروژه ای به نام Atlas است که فکر کنم به زودی آماده پیش نمایش شود. خالاصه اینکه تصور من این است Ajax به تدریج فراگیر تر بشه و سهم بیشتری از وب رو در اختیار بگیره.

    راستی ئر مورد معایب Ajax هم اگه کسی چیزی میدونه بگه من هم یه چیزایی میدونم مثل اینکه با Back And Forward مشکل داره و در حقیقت اونا را از بین میبره و اینکه به XmlHttpRequest به شدت نیازمنده در صورتی که از نظر امنیتی بسیار ضعیف است ....
    رفقا شما هم یه چیزی بگید
    سلام.دوست گرامی از مطالب پربار و عالی شما واقعا استفده کردم.در صورتی که مقدور باشد برای استارت یه پروژه دانشجویی از شما کمک بگیرم.

  28. #68

    نقل قول: تکنولوژی جدید AJAX

    لینک دانلود خرابه لطفا یکی درستش کنه احتیاج دارم

  29. #69

    نقل قول: تکنولوژی جدید AJAX

    نقل قول نوشته شده توسط shahramasp مشاهده تاپیک
    راستی ئر مورد معایب Ajax هم اگه کسی چیزی میدونه بگه من هم یه چیزایی میدونم مثل اینکه با Back And Forward مشکل داره و در حقیقت اونا را از بین میبره و اینکه به XmlHttpRequest به شدت نیازمنده در صورتی که از نظر امنیتی بسیار ضعیف است ....
    رفقا شما هم یه چیزی بگید
    سلام
    دوست عزیز با توجه به اینکه مدتی از این پست شما میگذره آیا جوابی برای این سوالتون پیدا کردین؟

صفحه 2 از 2 اولاول 12

تاپیک های مشابه

  1. تکنیکی برای Ajax کردن این لینکدونی
    نوشته شده توسط Chabok در بخش ASP.NET Web Forms
    پاسخ: 4
    آخرین پست: پنج شنبه 28 خرداد 1388, 01:16 صبح
  2. نحوه استفاده از ajax در پروژه ای که ajax enable نیست
    نوشته شده توسط mp2009 در بخش ASP.NET Web Forms
    پاسخ: 3
    آخرین پست: دوشنبه 16 مهر 1386, 09:04 صبح
  3. بازهم Ajax
    نوشته شده توسط cybercoder در بخش PHP
    پاسخ: 7
    آخرین پست: جمعه 09 شهریور 1386, 00:57 صبح
  4. مثالی از استفاده‌ی Ajax در Asp
    نوشته شده توسط hossein taghi zadeh در بخش Classic ASP
    پاسخ: 1
    آخرین پست: پنج شنبه 01 شهریور 1386, 02:16 صبح
  5. سایت مفید درباره asp.net ajax , ajax control toolkit
    نوشته شده توسط reza_62 در بخش ASP.NET Web Forms
    پاسخ: 0
    آخرین پست: یک شنبه 14 مرداد 1386, 17:17 عصر

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •