راکت
حل شده

too many request

5 پاسخ

سلام من توی event onmouseover ی متد رو صدا میزنم ک از ی api استفاده میکنه
اما وقتی موس رو روش میبرم حداقل سه بار درخواست رو به api میده بعدشم ارور too many request میاد
ممنون میشم کمکم کنید

ثبت پرسش جدید

پاسخ‌ها

5
علی بیات
علی بیات
@ali.bayat

تخصص: توسعه دهنده ارشد وب

بهترین پاسخ

در Vuejs هم اگر به شکل زیر پیاده‌سازی کنید.. هر بار که Mouse روی المان موردنظر میره تنها یکبار تابع شما (مثلا ارسال درخواست به api) اجرا میشه.

HTML:

<div id="mouse">
  <a v-on:mouseover.once="mouseover"></a>
</div>

VUE:

new Vue({
  el: '#mouse',
  data: {
    message: 'Hover Me!'
  }, 
  methods: {
    mouseover: function(){
      console.log(1)
      // api request will be sent once
    }
  }
})
میلاد-م
میلاد-م
@milad

تخصص: توسعه‌دهنده رابط کاربری - Front-End

فکر کنم یادتون رفت کدهاتون رو هم قرار بدین که دوستان بتونند بررسی کنند علت ایجاد مشکل تون رو.

Alimotreb
Alimotreb
@Alimotreb

تخصص: کانفیگ سرور و برنامه نویس

سلام
@ho3einmolavi00

رویدادشو عوض کنید
onclick کنید! که لااقل کلیک زده بشه ، با اینور اونور رفتن موس زیاد کاری نکنه
یا محدوده براش تعریف کنید

شاید پاسخ شما همین‌جا باشد

mahdi khanzadi
mahdi khanzadi
@khanzadimahdi

تخصص: Software engineer

از مودیفایر once استفاده کنید تا یکبار ایونت اجرا بشه

علی بیات
علی بیات
@ali.bayat

تخصص: توسعه دهنده ارشد وب

درود

در jquery میشد از متد One استفاده کرد:

$('element').one('mouseover', function() { /* ajax */ });

یه راه دیگه هم استفاده از event های دیگه هست.. مثلا mouseEnter و mouseLeave :

$('element').mouseenter(function() {
    /* Make request, do */
});
$('element').mouseleave(function() {
    /* undo */
});

در جاوااسکریپت مدرن هم به شکل زیر استفاده میشه:

node.addEventListener("mouseover", function() {
    // api request
}, {once : true});

برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام