как отправить json запрос через fetch и vuex

195
31 октября 2018, 19:00

Сделал поисковик по википедии по уроку https://www.youtube.com/watch?v=uiavUaBXxXw&t=268s. Хочу заменить jsonp на fetch, но ничего не выходит а что-то конкретное в сети не нашел.

store. js

import Vue from 'vue'
import Vuex from 'vuex'
import jsonp from 'jsonp'
import fetch from 'vue-fetch'

Vue.use(Vuex)
export default new Vuex.Store({
    state: {
        results: []
    },
    getters: {
        results(state) {
            let results = state.results
            return results.map(item => {
                item.url = 'https://ru.wikipedia.org/wiki/' + item.title
                return item
            })
        }
    },
    mutations: {
        set(state, {type, items}) {
            state[type] = items
        }
    },
    actions: {
        search({dispatch, commit}, query) {
            const url = 'https://en.wikipedia.org/w/api.php?action=query&list=search&format=json&srsearch=' + query
            // jsonp(url, (error, response) => {
            //     if (error) {
            //         throw error
            //     }
            //
            //     const results = response.query.search
            //
            //     commit('set', {type: 'results', items: results})
            // })
            //
            fetch(url)
                .then(function (response) {
                    response.json().then(function (data) {
                        const results = response.query.search
                        commit('set', {type: 'results', items: results})
                    })
                }
            )
        }
    }
})

Закомментирован код для jsonp

Jsonp:

Fetch:

READ ALSO
AJAX-запрос для формы регистрации

AJAX-запрос для формы регистрации

Stack технологий - Nodejs, EJS, MongoDB, jQuery

196
Как получить кол-во вхождений значения в массив

Как получить кол-во вхождений значения в массив

Этот алгоритм считает кол-во вхождений элемента в массиве

179
Не работает Web Worker в проекте на React JS

Не работает Web Worker в проекте на React JS

Создаю Web Worker по классикеВ основном скрипте:

191