Boplo.ir
rss

من در Facebook


جستجو


آخرین مطالب

مطالب همینجوری

بر و بچ

MyView TakhteShasi Tween

دوستشون دارم

بیلبورد

دامین برای فروش: CleanCode.ir
FastFeed.ir
Fonvi.com

تماس


انواع و اقسام سفارشات طراحی و برنامه نویسی سایت پذیرفته میشه. از سایت حمایت از خرگوشهای صورتی گرفته تا سایت قاچاق اعضای بدن!
تماس

 

از بيماران سرطاني حمايت كنيم

A new begining
AHHP presents

 

آدرس کوتاه: http://Boplo.ir/:53

بیایم AJAX یاد بگیریم.....
۱۰ اردیبهشت ۱۳۸۸ ساعت ۱۲:۵۵

طراحی وب
آموزش مختصری برای AJAX

loading loading loading loading loading
loading

AJAX چی هست اصلا؟ آژاکـــــــس یا ای-جکــــس مخفف Asynchronous JavaScript And XML به معنی جاوااسکریپت و XML غیرهمزمان هست. به معنیش فکر نکن که چیزی دستگیرت نمیشه! بی خیال
آژاکس تکنیکی برای دریافت اطلاعات از سرور بدون بازخوانی یا Refresh صفحه است. اصولش هم به این صورته که جاوااسکریپت به سرور درخواست(Request) ارسال می کنه و نتیجه یا پاسخ(Response) سرور رو دریافت می کنه بدون این که صفحه جاری بازخوانی بشه.

توضیح بیشتر به این صورت هست که دو نوع زبان تحت وب داریم:

  • Server-Side (سمت سرور) : این زبانها صرفا توسط سرور اجرا میشن مثل PHP, JAVA, ASP.NET, PERL و... .
  • Client-Side (سمت کاربر) : این زبانها صرفا توسط کامپیوتر کاربر اجرا میشن (دقیقتر توسط مرورگر کاربر) مثل JavaScript و ... .

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

نحوه کار این تکنیک به این ترتیب هست که وقتی شما روی یک لینک معمولی کلیک می کنید، در واقع یک درخواست به سرور ارسال کردید. سرور این درخواست رو پردازش می کنه و با بازخوانی صفحه، محتویات جدید صفحه رو به شما میده. در آژاکس، جاوااسکریپت که برای اجرا به بازخوانی صفحه نیاز نداره با استفاده از Object خاصی بصورت زیر زیرکی یه درخواست به سرور ارسال می کنه و جوابش رو هم میگیره یعنی کافیه توسط جاوااسکریپت اطلاعات مناسب رو به سرور برسونید و Response سرور رو هم چاپ کنید. به همین سادگی به همین خوشمزگی!

برای فهم این آموزش اطلاعات حداقلی از جاوااسکریپت نیازهست! 

کلید تسلط به هر چیزی اطلاعات کافی درباره اون موضوعه پس بهتره اول همه سوراخ سمبه های این آبجکت رو بشناسیم. منگ
این شیء در مرورگر اینترنت اکسپلورر توسط کلاس ()ActiveXObject هست و تقریبا برای سایر مرورگرها ()XMLHttpRequest، به اضافه اینکه کلاس مربوط به اینترنت اکسپلورر اطلاعات مربوط به نسخه مرورگر رو هم میگیره.

متدهای این آبجکت به شرح زیر هست:

متد توضیح
(open(Method,URL,Async,User,Pass آغاز عملیات
(send(header ارسال اطلاعات بصورت دیتا
(setRequestHeader(header,value تعیین header اطلاعات ارسالی
(getResponseHeader(header دریافت header جاری بصورت متن
()getAllResponseHeaders دریافت تمامی headerها بصورت متن
()abort اتمام فوری عملیات

و Property یا مشخصه ها هم بصورت زیر هستند:

مشخصه توضیح
onreadystatechange باعث اجرای تابع متناظر با خودش به ازای هر بار تغییر وضعیت
readyState وضعیت عملیات
responseText نتیجه عملیات بصورت Text
responseXML نتیجه عملیات بصورت XML
status پیغام سرور بصورت کد مثل 404 (Page Not Found) یا 200 برای موفقیت
statusText پیغام سرور بصورت متن


شروع می کنیــــــــــــــــــــــــــــــــــــــــــــم... داغون

می خوایم یه آژاکس ساده درست کنیم. برای این آموزش من از PHP استفاده کردم که برای اجرای این زبان باید از سرور روی اینترنت یا سرورهای لوکال مثل Wamp Server یا EasyPHP استفاده کنیم.

ما یه صفحه HTML مثل این داریم که میخوایم وقتی فیلد صفحه رو پر کردیم و دکمه رو زدیم، جواب آژاکس، زیر فرم چاپ شه:

<html>
<html>
<head>
    <title>Boplo.ir | AJAX Tutorial</title>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <script type="text/javascript" src="ajaxRequest.js"></script>
</head>
<body>
    <p>
        اسمت چیه: <input id="ajaxField" type="text" value="Go" />
        <input id="ajaxButton" type="button" onclick="javascript:ajaxAction();" />
    </p>
    <div id="ajaxResponse" style="border:1px dashed #555; margin:10px; padding:10px;"></div>
</body>
</html>

ما برای ارسال درخواست آژاکس، به یه سری کد جاوااسکریپت نیاز داریم که توی فایل ajaxRequest.js قرار میدیم و توی <head> هم فراخوانیش می کنیم. فرض می کنیم که عملیات آژاکس توسط تابع ajaxAction در فایل جاوااسکریپتمون انجام میشه که قراره با فشار دادن دکمه فرم شروع بشه پس بصورت onclick در فرم قرار دادیم.

برای بخش اصلی کار یعنی کدهای جاوااسکریپت اول باید یک نمونه (Instance) از شی آژاکس رو ایجاد کنیم. همونطور که گفتم بازم اینترنت اکسپلورر نخاله گری کرده و شیء اش با بقیه فرق می کنه در نتیجه ایجاد نمونه یکم پیچیده تر از استفاده از یک فرمان new ساده است. البته اینترنت اکسپلورر توی نسخه 7 و بالاتر (اینجوری که یادم میاد) شیء XMLHttpRequest رو هم پشتیبانی می کنه. من برای ایجاد نمونه از کد زیر استفاده می کنم:

function AjaxRequest() {
    try{    var xmlhttp = new XMLHttpRequest();    }
    catch(err1)
    {
        var ieXmlHttpVersions = new Array();
        ieXmlHttpVersions[ieXmlHttpVersions.length] = "MSXML2.XMLHttp.7.0";
        ieXmlHttpVersions[ieXmlHttpVersions.length] = "MSXML2.XMLHttp.6.0";
        ieXmlHttpVersions[ieXmlHttpVersions.length] = "MSXML2.XMLHttp.5.0";
        ieXmlHttpVersions[ieXmlHttpVersions.length] = "MSXML2.XMLHttp.4.0";
        ieXmlHttpVersions[ieXmlHttpVersions.length] = "MSXML2.XMLHttp.3.0";
        ieXmlHttpVersions[ieXmlHttpVersions.length] = "MSXML2.XMLHttp";
        ieXmlHttpVersions[ieXmlHttpVersions.length] = "Microsoft.XMLHttp";

        var i;
        for (i=0; i < ieXmlHttpVersions.length; i++) {
            try
            {
                var xmlhttp = new ActiveXObject(ieXmlHttpVersions[i]);
                break;
            }
            catch (err2) {    return false;    }
        }
    }
    return xmlhttp;
}

این کدها رو توی فایل ajaxRequest.js که گفته بودم بسازید، قرار بدید.

 

همونجوری که حتما به کدهای HTML بالا دقت کردید، زمان فشرده شدن دکمه، تابع ajaxAction اجرا میشه. ما هم این تابع رو میسازیم:
اول می خوایم مقدار فیلد موجود توی فرم رو بگیریم و شیء آژاکس رو توسط تابع AjaxRequest که بالا ساختیم ایجاد کنیم:

function ajaxAction() {
    var field = document.getElementById("ajaxField").value;
    var response = document.getElementById("ajaxResponse");
    var xmlHttp = AjaxRequest();
    .
    .
    .
}


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

پارامتر توضیح
نوع ارسال یکی از عبارات GET ، POST ، HEAD
URL ارسال آدرس فایل یا URL برای ارسال و دریافت اطلاعات
نحوه ارسال true و false برای تعیین به ترتیب، ارسال غیرهمزمان و همزمان
نام کاربری تعیین نام کاربری برای ارسال
کلمه عبور تعیین کلمه عبور برای ارسال

پس:

function ajaxAction() {
    var field = document.getElementById("ajaxField").value;
    var response = document.getElementById("ajaxResponse");
    var xmlHttp = AjaxRequest();
    xmlHttp.open("GET" , "ajaxServer.php?name=" + field, true);
    .
    .
    .
}

همونطور که میبینید، من یه کوئری به فایل ajaxServer.php فرستادم که کلیدش name هست و مقدارش، مقدار فیلد توی صفحه. نوع ارسال هم GET مشخص شده.
اگر بجای GET از HEAD استفاده می کردم، نتیجه اطلاعات header می بود.

از لحظه درخواست تا پایان عملیات، شیء آژاکس مراحل رو دریافت می کنه و این وظیفه ماست که این مراحل رو بازیابی کنیم. xmlHttp پنج مرحله رو پشت سر میذاره و این مراحل بصورت شماره در مشخصه(Property) به نام readyState ذخیره میشه. مقادیر به این صورت هستند:

وضعیت توضیح
0 هیچ عملیاتی صورت نگرفته
1 اطلاعات در حال لود شدن هستند
2 عملیات لود به اتمام رسید
3 خاتمه دادن عملیات
4 پایان عملیات

تغییرات غیرهمزمان در یک Property به نام onreadystatechange صورت میگیره که باید توسط یه تابع Callback، چک بشه:

function ajaxAction() {
    var field = document.getElementById("ajaxField").value;
	var response = document.getElementById("ajaxResponse");
    var xmlHttp = AjaxRequest();
    xmlHttp.open("GET" , "ajaxServer.php?name=" + field, true);
    xmlHttp.onreadystatechange=function()
    {
        if(xmlHttp.readyState == 0)    response.innerHTML = "uninitialized";
        if(xmlHttp.readyState == 1)    response.innerHTML = "loading";
        if(xmlHttp.readyState == 2)    response.innerHTML = "loaded";
        if(xmlHttp.readyState == 3)    response.innerHTML = "interactive";
        if(xmlHttp.readyState == 4)    response.innerHTML = "complete";
    }
    .
    .
}

 

نتیجه عملیات آژاکس، در مشخصه responseText ذخیره میشه (اگه متنی باشه). پس:

function ajaxAction() {
    var field = document.getElementById("ajaxField").value;
	var response = document.getElementById("ajaxResponse");
    var xmlHttp = AjaxRequest();
    xmlHttp.open("GET" , "ajaxServer.php?name=" + field, true);
    xmlHttp.onreadystatechange=function()
    {
        if(xmlHttp.readyState == 1)
		    response.innerHTML = "Loading...";

	   if(xmlHttp.readyState == 4 && xmlHttp.status == 200)
            response.innerHTML = xmlHttp.responseText;
    }
    .
    .
}

اگر وضعیت 1 بود یعنی اطلاعات در حال لود هستند پس باید پیغام Loading یا از این عکسهای چرخونک چاپ شه و اگر وضعیت 4 بود یعنی عملیات تموم شده و باید جواب چاپ بشه ولی برای اینکه از موفقیت آمیز بودن عملیات مطمئن بشیم، status رو هم چک می کنیم.

برای اتمام درخواست آژاکس باید یه متد دیگه رو هم اجرا کنیم.
متد send اگر اطلاعاتی بصورت data وجود داشته باشه رو ارسال می کنه ولی چون ما از روش GET استفاده کردیم و اطلاعات مورد نیاز رو توسط کوئری ارسال کردیم، دیگه چیز دیگه ای نداریم پس:

function ajaxAction() {
    var field = document.getElementById("ajaxField").value;
	var response = document.getElementById("ajaxResponse");
    var xmlHttp = AjaxRequest();
    xmlHttp.open("GET" , "ajaxServer.php?name=" + field, true);
    xmlHttp.onreadystatechange=function()
    {
        if(xmlHttp.readyState == 1)
		    response.innerHTML = "Loading...";

	   if(xmlHttp.readyState == 4 && xmlHttp.status == 200)
            response.innerHTML = xmlHttp.responseText;
    }
   xmlHttp.send(null);
}

اگر نوع ارسال POST بود، ارسال اطلاعات بصورت data می تونستیم داشته باشیم. برای این کار باید درخواست رو بعنوان اطلاعات فرم کد کنیم در نتیجه یک header جدید و مناسب باید ایجاد کنیم. در این حالت:

function ajaxAction() {
    var field = document.getElementById("ajaxField").value;
	var response = document.getElementById("ajaxResponse");
    var xmlHttp = AjaxRequest();
    xmlHttp.open("POST" , "ajaxServer.php", true);
    xmlHttp.onreadystatechange=function()
    {
        if(xmlHttp.readyState == 1)
		    response.innerHTML = "Loading...";

	   if(xmlHttp.readyState == 4 && xmlHttp.status == 200)
            response.innerHTML = xmlHttp.responseText;
    }
   xmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded;");
   xmlHttp.send("hello=yes&name=" + field);
}

در حالت POST کوئری هایی که به URL اضافه میشن، در سرور GET شناخته میشن و اونهایی که به متد send داده میشن، POST درنظر گرفته میشن.

تا اینجا کدهای بخش کلاینت بخوبی ایجاد شد حالا باید اسکریپت سمت سرور رو که اینجا ajaxServer.php اسمش بود رو بسازیم. این اسکریپت در حالت GET، فقط یک متغیر با نام name بهش ارسال میشه و کافیه اون رو بگیریم و نتیجه رو توسط زبان سمت سرورمون چاپ کنیم:

$name = $_GET['name'];
print "چطوری <b>$name</b>؟";

چیزی که این بخش چاپ می کنه مستقیم به داخل responseText میره و جاوااسکریپت هم اون رو مدیریت و نمایش میده....
به همین سادگی بود!

 

فرم زیر دموی زنده یک درخواست آژاکس مشابه آموزش بالاست. تست کنید:

اسمت چیه:

پاسخ سرور اینجا قرار میگیره...

 

تو چی فکر می کنی؟


Abedi : ممنون ، خیلی مفید بود
(2 سال و 9 ماه و 12 روز و 21 ساعت و 9 دقیقه پیش)

امیرمهدی : ممنون کاربردی و مفید بود
(2 سال و 9 ماه و 1 روز و 9 ساعت و 12 دقیقه پیش)

امیر حسین : سلام
من خوب فکر میکنم!
زحمت کشیدی
(2 سال و 8 ماه و 25 روز و 9 ساعت و 35 دقیقه پیش)

10David : الان وقت ندارم کامل بخونم Save میکنم بعدا بخونم ولی مطمئنم مثل همیشه عالیه.
(2 سال و 8 ماه و 14 روز و 51 دقیقه پیش)

یک دوست : فقط می تونم بگم ایول، خوب و خوش و سلامت باشید.
بسیار مطالب مفید رو گفتین.
ممنون
موفق باشید
(2 سال و 7 ماه و 8 روز و 3 ساعت و 28 دقیقه پیش)

یک دوست : با سلام خدمت دوست عزیز

واقعا عالی بود

همینطور به کارتون ادامه بدید

انشاالله موفقیت های بزرگترتون رو ببینم

موفق باشید ...
(2 سال و 5 ماه و 23 روز و 3 ساعت و 41 دقیقه پیش)

علی : مطلب جالبی بود.
از لحن طنزگونت خیلی خوشم میاد. ان شاءالله همیشه شاد باشی.
(2 سال و 4 ماه و 26 روز و 17 ساعت و 1 دقیقه پیش)

حسین مرادقلی : خیلی مفید بود.
یه مقدار در مورد متود POST توضیح بیشتری میدی ؟
من برام سواله که خوب چطور این اطلاعات رو ارسال کنم چون عملا در تود GET محدودیت هایی وجود داره.
ممنون
(2 سال و 3 ماه و 21 روز و 36 دقیقه پیش)

امیرحسین : @ حسین مرادقلی:
متد POST اطلاعات رو کد می کنه ولی GET نمی کنه و این تا یه حد کوچیکی می تونه تو امنیت اطلاعات تاثیر داشته باشه (خیلی کم).
روش GET یکم (بازم خیلی کم) سریعتر از POST هست و اینکه IE واسه فرم در حالت GET، برای داده های بلند محدودیت داره یعنی نمیشه یه متن 10 خطی رو توی IE توسط فرم GET ارسال کرد. من جایی خوندم که IE کلا اینطوره یعنی حتی در حالت آژاکس.....
(2 سال و 3 ماه و 20 روز و 27 دقیقه پیش)

یزدان : با سلام خدمت شما دوست عزیز وممنون بخ خاطر مطلب خوبتون خسته نباشید

من با این کد نتونستم یک صفحه aspx را داخل تگ دایو لود کنم مشکل کجاست؟

ممنون میشم
(2 سال و 3 ماه و 6 روز و 4 ساعت و 43 دقیقه پیش)

یک دوست : میشه بر اساس ASPX هم بنویسیئ
(2 سال و 1 ماه و 2 روز و 9 ساعت و 55 دقیقه پیش)

امیرحسین : من متاسفانه ASP.NET کار نکردم ولی اینجا یه نمونه ساده ازش پیدا کردم که امیدوارم کمک کنه:
http://ajax.net-tutorials.com
سرچ کنید حتما آموزش و نمونه های بیشتر پیدا می کنید.


موفق باشید
(2 سال و 1 ماه و 2 روز و 1 ساعت و 11 دقیقه پیش)

میلاد : همش همین ؟

چا ساده چه خوشمزه ، پودر کیک رشد !

آقا یه زحمتی میکشی در مورد این اشاء توی جاوا اسکریپت هم توضیح بدی ؟ مثلا من همیشه سر اینجاها که میشه غاط میزنم :
document.getelementbyid ....
یه مقدار که چه عرض کنم ، خیلی با PHP و حتی C فرق داره !
(1 سال و 11 ماه و 23 روز و 21 ساعت و 38 دقیقه پیش)

مهدی : با تشکر
چه کار کنیم با فارسی هم درست کارکنه ؟
(1 سال و 8 ماه و 7 روز و 3 ساعت و 4 دقیقه پیش)

امیرحسین : @مهدی:
با فارسی چه مشکلی داره؟ اون دمویی که آخر همین آموزش هست. مگه فارسی نیست؟
(1 سال و 8 ماه و 7 روز و 1 ساعت و 4 دقیقه پیش)

سوسک : اگه میشه در مورد ارسال name و ... توسط لینک هم توضیح بدید!
"(onclick="javascript:ajaxAction(25
شاید همیشه از input استفاده نشه :دی
(1 سال و 5 ماه و 28 روز و 5 ساعت و 58 دقیقه پیش)

محمدرضا : سلام دادا
من بيش از يك ماه هست كه مي خوام يك كدي رو بنويسيم كه فرم آپلود فايل رو اعتبار سنجي كنه و مانع از ارسال عكس با اندازه ي زياد بشه البته با php هم ميشه اين كار رو كرد ولي بيشتر فرم ارسال ميشه بعد اگه اشتباه بود بر مي گرد . البته با اين كد ميشه اين مشكل رو حل كرد ولي ميگن امنيتش خوب نيست :
<?php $_Server['PHP_Self'] ?>
شما با ايجكس مي توني همچين كدي رو بنويسي؟
خواهش مي كنم كمكك كنيد خيلي برام مهمه.
اينم آموزش اون چيزي كه گفتم :
http://www.barnamenevisi.blogsky.com/1389/07/11/post-62/
ولي اين كدي كه نوشتم محدوديت داره يكي اينكه انگار با هاست php سازگار نيست . دوم اينكه فقط با مرورگر اكسپلورر سازگار هست.
(1 سال و 4 ماه و 5 روز و 6 ساعت و 51 دقیقه پیش)

امیرحسین : در رابطه با PHP_SELF میتونید توسط تابع htmlspecialchars در ابتدای برنامه این مقدار رو escape کنید تا مشکلی نداشته باشه. روشهای دیگه اینها هستند:
استفاده از تابع basename بر روی __FILE__ یا ['SERVER['SCRIPT_FILENAME_$
اینهای همه بجـــــــای PHP_SELF.
در رابطه با اینکه کد شما فقط در IE کار می‌کنه، تا جاییکه من خبر دارم فقط با ActiveX میشه حجم فایل رو بدست آورد که فقط IE این امکان رو داره.
برای آپلود فایل توسط AJAX به نمونه زیر برید:
www.webtoolkit.info/ajax-file-upload.html
(1 سال و 4 ماه و 4 روز و 22 ساعت و 55 دقیقه پیش)

مهدی : من از این آموزش شما استفاده کردم ، خیلی خوب بود
خیلی تلاش کردم در AutoComplete استفاده کنم اما نتوانستم . شما در این رابطه میتوانید کمکی دهید؟
(1 سال و 2 ماه و 27 روز و 6 ساعت و 33 دقیقه پیش)

علی ناصری میل کاریز : آقای گرم دمت هم گرم کارت عالیه من دانشجوی کامپیوتر هستم و ازت هم متشکرم
(1 سال و 1 ماه و 24 روز و 1 ساعت و 17 دقیقه پیش)

احمد : دستت درد نکنه اموزشی که دادی خیلی خوب بود.اگه برات زحمتی نیست میتونی همینو بصورت یک لیست باکس هم بگی؟
ممنون
(10 ماه و 6 روز و 7 ساعت و 11 دقیقه پیش)

n340 : میدونی وبلاگ باحالی
داری
من چند وقتی کلیک کردم رو اجاکس که یاد بگیرم
خیلی سخته
البته فکر کنم چون جاوا اسکریپت بلد نیستم
اومدم مثال بالارو اجرا کنم دیدم چند فایل گذاشتی منم نفهمیدم کدومو کجا با چه نامی بزارم
اگه همرو زیپ کنی و لینک بدی عالیه
تا بفهمم چیرو کجا ریختی
(10 ماه و 4 روز و 13 ساعت و 31 دقیقه پیش)

iman : آقا امير روي فايرفاكس 4 كار نمي كنه اين آجاكس!
(7 ماه و 28 روز و 23 ساعت و 41 دقیقه پیش)

yasi : like it
(7 ماه و 14 روز و 14 ساعت و 10 دقیقه پیش)

mahdieh : سلام
سایتتون خیلی جالبه
من یه کادر واسه ثبت نام کاربرام تو سایت دارم،که تو یه قسمتش با ای جکس چک می کنه ببینه کاربر وجود داره یا نه ، من میخوام تا موقعی که داره تو بانکم دنبال نام کاربری می گرده یه عکس نشون بده یا وقتی تموم شد به جای نوشته عکس باشه از چه کدی استفاده کنم لطفا؟؟؟؟؟
(7 ماه و 14 روز و 8 ساعت و 3 دقیقه پیش)

امیرحسین : دقیقا با شروع عملیات (مثلا فشار دادن دکمه توسط کاربر) هر پیغام یا لودینگ که خواستید رو نمایش بدید.
روش دیگه انجام این کار در Status شماره‌ی ۱ هست که مخصوص همین کاره.
(7 ماه و 14 روز و 3 ساعت و 1 دقیقه پیش)

mahdieh : ممنون از جوابتون ولی منظور من این نبود.من میخوام بدونم چطوری(با چه کدی)میشه به جای متن عکس بذاریم.
بهرحال ممنون
(7 ماه و 13 روز و 13 ساعت و 5 دقیقه پیش)

امیرحسین : شما باید در هر صورت با DOM آشنا باشید تا بتونید بجای متن، عکس نمایش بدید یا بخشی از صفحه رو تغییر بدید یا عملیات جداگانه ای رو اجرا کنید.
به مثال این لینک دقت کنید: http://jsfiddle.net/KP5Md/2
(7 ماه و 13 روز و 12 ساعت و 37 دقیقه پیش)

mahdieh : مرسی درس شد.
بازم آموزش ای جکس بذارین لطفا .
(7 ماه و 13 روز و 11 ساعت و 46 دقیقه پیش)

مليحه : سلام
به نظر شما اگر به جاي نوشتن اين همه كدهاي طولاني ا ز كنترل هاي جديد ajax Control toolkit كه Microsoft ارائه كرده استفاده بكنيم , ايرادي داره؟
يا استفاده ا ز اينها خيلي غير حرفه اي هست؟
كدوم بهتره؟!!
(1 ماه و 9 روز و 5 ساعت پیش)

امیرحسین : این ابزارها همین کدها رو توی دلشون دارند به همراه یه سری امکانات. استفاده از چنین ابزارهایی بجای کد خام، بار اضافی ایجاد میکنه و این زمانی خوبه از امکانات دیگه‌ی ابزار هم استفاده کنیم. یعنی یه طوری باشه که لود شدنش برامون بصرفه. فقط لود اضافی نباشه.
(1 ماه و 9 روز و 2 ساعت و 55 دقیقه پیش)

 

me

امیرحسینم. اسمم رو دوست دارم، خودم رو دوست دارم. تهران زندگی می کنم. فارغ التحصیل مهندسی صنایع هستم. برنامه‌نویسی و طراحی وب می کنم. در واقع Web Developer محسوب میشم. برنامه نویسی و وقت گذرونی با وب تنها کاریه که خسته ام نمی کنه.
آدم خیلی سردی هستم، اینو دور و وری هام میگن. ولی به نظر خودم سرد نیستم در واقع گرمای خودم رو کم بروز می دم! آدما رو اغلب دوست دارم غیر از اون مواقعی که اونا من رو نادیده میگیرن!

این سایت رو بعد از کلی اینور اونور دوباره راه انداختم تا هرچی دوست دارم توش بنویسم، چه کسی بخونه چه نخونه.
خلاصه اینجا خونه منه،

به خونه امیرحسین خوش اومدی...

MODx | Template World