یه سوال در رابطه با ajax فصل 9 ؟
سلام دوستان چرا وقتی استاد مثلا داره userName رو با ajax به سرور میفرسته تا بررسی بشه و برگرده و true یا false رو نشون بده استاد تو کنترل input مربوط به userName در فرم خیلی راحت و بصورت عادی تایپ میکنن و مشکلی نداره. اما تو پروژه من مشکلی وجود داره! البته منم عین استاد نوشتم و جواب رو درست میده یعنی کاملا درست کار میکنه اما من مثلا میخوام تایپ کنم hamid من تایپ میکنم تموم شده اما میبینم تو input فقط h رو در لحظه اول و بعد مکث کوتاه a و سپس m و همینطور ادامه میده تا آخر... میدونم بخاطر request و response هایی هست که بین کلاینت و سرور صورت میگیره اما کاملا ایراد بزرگی هست و نمیدونم کجای کار من اشتباه هست. امیدوارم متوجه منظورم شده باشید و خواهشا راهنمایی کنید.
ممنون %
دوست عزیز BiDak سعی کردم واضح توضیح بدم منظورم اینه که سرعت تایپ شدن تو input text خیلی خیلی کندتر از تایپ با دست من هست! دوست عزیزم mbm124 نه تو input text دیگه اینطور نیس! و من مطمنم چون دارم به سرور request میدم بصورت همزمان همین باعث مشکل شده است! اما خب من درست عین خود استاد نوشتم و منطقی هستش باز سورس سمت سرورم رو میذارم ببینید و در ضمن درست کار میکنه ها اما کند بسیار کند تایپ میشه !!!
public function freeNickName(){
$nickName = $_POST['nickName'];
$db = new DB();
$result = $db->query("SELECT * FROM users WHERE nickName='$nickName'");
$outout = array();
if(count($result) > 0){
$outout['isFree'] = false;
}else{
$outout['isFree'] = true;
}
echo json_encode($outout);
}
async در واقع مثل ترد میمونه وقتی true هست یعنی به صورت همزمان چندین درخواست ارسال بشه و در حالت دیفالت هم true هست و میتونید کلا ننویسیش ولی وقتی false میشه یک درخواست ارسال میشه و صبر میکنه تا جواب برگرده علت کندی هم همین بوده .
البته استاد فقط مثالی برای ajax زدن و لزومی نداره شما با وارد کردن هر کارکتر یک درخواست به سرور بزنید .
میتونید وقتی که همه کارکتر ها رو وارد کردید با زدن یک دکمه یا اینتر درخواست رو به صورت یکجا به سرور بدید ، که این هم باعث سرعت بیشتر و مصرف پهنای باند کمتر و همینطور پردازش کمتر میشه و لزومی به درخواست لحظه ای نیست.
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .