جستجو AJAX به وسیله laravel,vue js

۲۷ آبان ۱۳۹۶

در SearchController.php خود مقادیر زیر را وارد می نماییم.

    
        public function search(Request $request)
        {
            $posts = Post::where('name', $request->keywords)->get();

            return response()->json($posts);
        }
    

نمایش مقادیر گرفته شده توسط AJAX به شکل زیر می باشد:

    
<template>
    <div>
        <input type="text" v-model="keywords">
        <ul v-if="results.length > 0">
            <li v-for="result in results" :key="result.id" v-text="result.name"></li>
        </ul>
    </div>
</template>

<script>
export default {
    data() {
        return {
            keywords: null,
            results: []
        };
    },

    watch: {
        keywords(after, before) {
            this.fetch();
        }
    },

    methods: {
        fetch() {
            axios.get('/api/search', { params: { keywords: this.keywords } })
                .then(response => this.results = reponse.data)
        .catch(error => {});
        }
    }
}
</script>
    

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

    
       <input type="text" v-model.lazy="keywords" v-debounce="300">
    

 نویسنده:حمید شاه محمدی
 تعداد مشاهده خبر:(688)
 هر روز از مقاله های جدید طراحی سایت در کانال تلگرام ما با خبر شوید

 میانگین امتیازات:
 
  تعداد رای دهندگان: {{ count }}
نظرات:

{{ x }}
{{ alert }}

نویسنده:{{ com.name }}
{{ com.body }}
{{ com.created_at }}