مشاهده نسخه کامل
: سوال در مورد ajax
ali zi zeperto
18-05-2011, 10:26
سلام به همه
یه سایتی با ajax داده ها رو لحظه به لحظه از سرور می گیره و نمایش میده.آیا میشه منم این اطلاعات رو بگیرم و استفاده کنم البته بدون اینکه با مدیر سایته کاری داشته باشم.یعنی برنامه ای باشه که اینکار رو بکنه.
بله می تونید ولی به شرط اینکه اون اطلاعات در دسترس باشه.
درضمن مستقیماً ( البته در حالت معمولی ) نمی تونید توسط Ajax درخواستی رو به سرور/دامینی غیر از سرور/دامین خودتون ارسال کنید.
شما میتونید توسط زبانهای سمت سرور اطلاعات رو از سایت موردنظر خارج کنید و توسط ای جکس اطلاعاتی که خارج شده رو نمایش بدید.
ali zi zeperto
18-05-2011, 12:06
یه خورده بیشتر توضیح میدید.من با php تا حدودی آشنام.یه لینک سر نخ بدید بقیه اش رو سعی می کنم که خودم برم.:20:
ممنون
persgolf
18-05-2011, 16:43
شما نميتونين از سروري كه اون سايت داره الان آژاكس ميفرسته درخواست آژاكس بفرستي و لي ميتوني خود سايت رو با پي اچ پي سوكتينگ يا برنامه هاي ديگه بخوني و تو سايت خودت نمايش بدي
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
ali zi zeperto
02-06-2011, 19:55
سلام دوباره.
یه سوال دیگه دارم.الان یه کتاب آموزشی آژاکس گرفتم و چند فصلی خوندم.یه جا گفته بود که برنامه های آزاکس بعد از انجام عملی از طرف کاربر اجرا میشن.یعنی کاربر یا سیستم طرف کاربر باید درخواست به سرور بده تا بعد عملیات لازم انجام بشه.
حالا اگر بخوام بعد از انجام فعل از طرف سرور ، کلاینت کاری انجام بده باز هم میشه از آژاکس استفاده کرد؟مثلا اگر سرور داده جدید فرستاد کلاینت اون رو بگیره و نمایش بده بدون اینکه کاربر یا سیستم طرف کاربر کاری انجام بده و تغییرات رو بطور دائم روی صفحه اش ببینه.با آژاکس میشه چنین کاری کرد؟
راه هایی برای اینکار ارئه شد، مثل Push Ajax و Reverse Ajax که بیشتر به Comet مشهور هستن. در این نوع سیستمها کاربر یک درخواست به سرور ارسال میکنه و جوابی هم دریافت میکنه، ممکنه بعد از اطلاعاتی که دریافت کرده اطلاعات سرور آپدیت شده باشن، در این روش بصورت خودکار اطلاعات قبلی بروز میشن بدون اینکه کاربر درخواست جدیدی رو ارسال کرده باشه.
جدیدن هم در HTML5 ابزار WebSocket برای حل همین مشکل بوجود آمده که شما می تونید در مرورگرهای Safari و Chrome و IE9 (البته نه بصورت Native باید یک ابزار رو بر روی این مرورگر نصب کرد تا از این تکنولوژی پشتیبانی کنه) استفاده کنید. در مرورگر های Firefox4 و opera 11.10 این ابزار برای مشکل امنیتی که داشته غیر فعال شده تا برای کاربران خطر ساز نشه.
ali zi zeperto
07-06-2011, 09:02
سوال
من این کد رو تقریبا از روی کتاب کپی کردم اما اجرا نمیشه.تا XHRO.onreadystatechange اجرا میشه و وارد فانکشن نمیشه یعنی عبارت home چاپ نمیشه..دلیلش چیه؟
<script language="javascript">
var XHRO = false;
if(window.XML[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]){
XHRO = new XML[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]();
}
function first_function(first){
if(XHRO){
var obj = document.getElementById(first);
XHRO.open = ("GET","first.php");
XHRO.onreadystatechange = function(){
document.write("home");
if(XHRO.readyState == 4 && XHRO.status == 200){
obj.innerHTML = XHRO.responseText;
}
}
XHRO.send(null);
}
}
</script>
کدها رو در داخل تگ کد (#) قرار بدید تا قابل خوندن باشه.
کد شما مشکل خاصی توش دیده نمیشه، ولی این کد رو امتحان کنید ببینید جواب میگیرد یا خیر.
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
ali zi zeperto
07-06-2011, 12:45
کدها رو در داخل تگ کد (#) قرار بدید تا قابل خوندن باشه.
کد شما مشکل خاصی توش دیده نمیشه، ولی این کد رو امتحان کنید ببینید جواب میگیرد یا خیر.
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
با عرض معذرت در مورد کد.اون خطی که بولدش کردم مشکل داشت.اون علامت مساوی رو همینطوری برداشتم و جواب داد.کاملا اتفاقی.
خیلی ممنون که کمک می کنید.باز هم مزاحم میشم:46:
منم متوجه اون نشده بودم:دی
وقتی میگیم کدها رو داخل تگ کد بزارین واسه همینه، تا جلوی خطاهای syntax ی تا حدی کاهش پیدا کنه:دی
ali zi zeperto
18-06-2011, 20:49
یه سوال
تو کدی که اون پایین گذاشتم یه تابع است که یه مقدار رو باید از سرور بگیره و برگردونه به تابع فراخوان اصلی.مشکل اینجاست که وقتی عبارت return اجرا می شه مقدار برگشتی خالیه یعنی هنوز از سرور نیومده.برای رفع این مشکل چیکار باید بکنم؟پارامتر سوم متد open رو هم گذاشتم true ولی فرقی نکرد:41:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
وقتی درخواستی رو به سرور ارسال میکنید، این خودش باعث صرف زمانهایی میشه و از اونجایی که سرعت اجرا شدن توابع در زبانهای برنامه نویسی (صرف نظر از کارهایی که قراره انجام بدن) یک هزارم/میلیونیوم/میلیاردم(!) ثانیه میرسه، نمیشه مقدار دریافتی رو به تابع برگشت داد، چون اون تابع اجرا شده و منتظر نمی مونه تا اطلاعات از سرور لود بشن.
ولی تنها راهی که میشه مقدار دریافتی رو به یک متغیر پاس داد استفاده از Anonymous function هست. به اینصورت که مقداری که قرار از سرور دریافت بشه رو به عنوان یک پارامتر به تابع پاس میدیم بعدا میشه با صدا زدن تابع Ajax اون مقدار رو از پارامتر دریافت کرد.
با استفاده از یک مثال بهتر میتونید متوجه این موضوع بشید:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
vBulletin , Copyright ©2000-2025, Jelsoft Enterprises Ltd.