سلام
نباید اینطوری که میگی باشه با هر بار فشار دادن دکمه های کیبرد اگر بخوای یک درخواست ارسال کنی فکر کنم خیلی زود از پا در میای.
من اگر بودم اینکار رو میکردم با فشار اولی دکمه همه اطلاعاتی که ممکنه کاربر باهاش کار داشته باشه رو میارم برای مثال :
اگر بزنه a به دیتابیس میگه همه اونایی رو بده که a دارند
select * from search where title like '%first_user_input%'
و بقیه جستجو رو سمت کاربر انجام میدادم
نتایج بدست امده هم اینجوری لیست میکردم
<label for="country">Choose your country from the list:</label>
<input list="countries" type="text" name="country" id="country">
<datalist id="cuntries">
<option value="UK">
<option value="Germany">
<option value="USA">
<option value="Japan">
<option value="India">
</datalist>
@Rp76
ممنون
ولی میخوام ۱۲۵۰ تا object رو از سرور بگیرم یعنی میخوام شهرهای ایران رو از سرور بگیریم اگر بیام کلش رو یکبار بگیرم ک فکر کنم زمانبر باشه اگرم بخوام هر بار درخواست بدم ک کار خوبی نیس موندم چکار کنم
ببین اینطوری میشه چیزی که توی زهن من هست
نمیدونم چطوری میگی 1250 تا ولی خوب گوش کن
اگر 1250 تا object داشته باشی 100% همه اونها با A شروع نمیشوند.
اگر کاربر وارد کنه *cat به صورت مثال شما قبل از این که ۲حرف بعدی رو وارد کنه درخواست دادی به سرور و همه اونایی که c داشتن رو اوری و لیست کردی مثل این :
cat
car
carpet
capital va ...
باید یه delay بعد از ورود کلمات رو در نظر بگیری
همچنین باید یه minimum تعداد حرف وارد شده رو هم در نظر بگیری
مثلا هر وقت کاربر بیش از ۲ حرف رو وارد کرد.. ۲۵۰ میلی ثانیه صبر کنی (چون شاید بخواهد حروف بیشتری رو وارد کنه) و بعد درخواست بزنی به سرور و لیست رو دریافت کنی
اینجوری خود به خود تعداد نتایج کاهش پیدا میکنه
میتونی خودت این ویژگی رو پیاده سازی کنی
یا از ابزارهای آماده الگو بگیری مثل: Select2
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟