آموزش متد open و send در آجاکس جاوااسکریپت
سلام خدمت تمامی دوستان و همراهان محترم سایت آموزشی فری لرن ، امیدوارم که حال همگیتون خوب باشه. لطفا در ادامه با آموزش متد open و send در آجاکس جاوااسکریپت با من همراه باشید.
Free-Learn
آنچه در این جلسه میخوانید :
متد open و send در آجاکس جاوااسکریپت
با استفاده از متدهای open
و send
در آجاکس جاوااسکریپت میتونیم یک درخواست ایجاد شده توسط XMLHttpRequest
را به سمت سرور ارسال نماییم.
Free-Learn
شکل کلی استفاده از متد open و send
نحوه نوشتاری یا نحوه استفاده از متدهای open و send بصورت زیر می باشد :
1 2 3 |
MyRequest.open( "Method" , "URL" , Async ); MyRequest.send(); MyRequest.send("Strings"); |
نام متد | توضیح |
---|---|
Method | مشخص کردن نوع یا روش ارسال داده ها بسمت سرور GET POST |
URL | آدرس یا مسیر اون فایل بروی سرور که قراره داده هارو بگیره |
Async | چگونگی ارسال داده ها بسمت سرور true : یعنی بصورت ناهمزمان یا Asynchronous ( پیش فرض ) false : یعنی بصورت همزمان Synchronous |
()send | برای استفاده با متد GET |
send(“Strings”) | برای استفاده با متد POST |
Free-Learn
مثال از متد open و send در آجاکس جاوااسکریپت
در ادامه میتوانید یک مثال از متدهای open و send را در زبان جاوا اسکریپت مشاهده نمایید.
مثال شماره ۱ : دریافت محتویات فایل myfile-1.html و نمایش آن در صفحه ( استفاده از متد GET )
1 2 3 4 5 6 7 8 9 10 11 12 |
<script> function Load(){ const MyRequest = new XMLHttpRequest(); MyRequest.onload = function(){ document.getElementById("Result").innerHTML = this.responseText; } MyRequest.open("GET", "files/myfile-1.html"); MyRequest.send(); } </script> |
Free-Learn
Asynchronous یا Synchronous
خب در متد open ما میتونیم مشخص کنیم که آیا درخواست بصورت ناهمزمان ( Asynchronous ) یا همزمان ( Synchronous ) ارسال بشه بسمت سرور.
یعنی اگه true بزاریم یعنی ناهمزمان ( Asynchronous ) و اگه false بزاریم یعنی همزمان ( Synchronous ) ، حال سوال اینجاست که کدومش بهتره؟ و از کدوم استفاده کنیم!؟
اگه درخواست بسمت سرور بصورت همزمان ارسال بشه خب جاوااسکریپت یه گوشه میشینه و دست به هیچی نمیزنه و منتظر پاسخ از سمت سرور میشه ، بعد خب ممکنه به هردلیلی سرور اون لحظه نتونه بهش پاسخ بده ( مثلا ممکنه سرور سرش شلوغ باشه یا ممکنه کلا سرور از دسترس خارج شده باشه و… )
هیچی دیگه بدبخت شدیم رفت! از یه طرف سرور پاسخی ارسال نکرده و از طرف دیگه جاوااسکریپت هم دیگه دس به هیچی نزده و به بقیه کاراش نرسیده و همین یعنی اختلال در اجرای برنامه هامون، یعنی کند شدن سرعت اجرای برنامه هامون و..
پس همیشه سعی کنید درخواست هارو بصورت ناهمزمان ارسال کنید تا جاوااسکریپت دیگه منتظر پاسخ نشینه، بلکه بره به بقیه کاراش برسه بعد که پاسخ از سمت سرور آماده شد بیاد و پاسخش رو بگیره ، اینجوری دیگه اختلالی در برنامه هامون پیش نمیاد.
Free-Learn
نکات و توضیحات
- برای بحث امنیت حواستون باشه که هر ۲ فایل ( یعنی اون فایلی که درخواست رو ارسال میکنه و اون فایلی که درخواست رو دریافت و پردازش روش انجام میشه ) باید حتما هر۲تاش روی یک سرور قرار داشته باشند، وگرنه عمل نمیکنه.