近日,我在使用axios請求本地JSON文件時,遇到了404錯誤的問題。經(jīng)過不斷地嘗試和查閱資料,終于找到了解決方法。在這里,我想和大家分享我的經(jīng)驗,希望能幫助到有相同問題的人。
首先,我們先看看這個問題的詳細情況。我在使用axios請求本地JSON文件時,代碼如下:
axios.get('./data.json') .then(function(response) { console.log(response.data); }) .catch(function(error) { console.log(error); });然后,在開發(fā)者工具的控制臺中,我發(fā)現(xiàn)請求的結(jié)果是一個404錯誤。
GET http://localhost:8080/data.json 404 (Not Found)經(jīng)過排查,我發(fā)現(xiàn)問題并不在代碼中,而是在服務器的配置上。因為本地JSON文件并沒有被服務器認定為一個資源,所以就會返回404錯誤。 為了解決這個問題,我們需要配置服務器,使其能夠正確地識別JSON文件。如果你使用的是Webpack開發(fā)服務器,那么只需要在webpack.config.js文件中的devServer對象中添加如下代碼即可:
devServer: { contentBase: path.resolve(__dirname, 'src'), publicPath: '/', port: 8080, historyApiFallback: true, before(app) { app.get('/data.json', function(req, res) { res.json(require('./data.json')); }); } }上述代碼中的before函數(shù)將會在Webpack開發(fā)服務器啟動時執(zhí)行,它指定了一個路由'/data.json',并返回JSON數(shù)據(jù)。這樣,我們就能夠正確的獲取到JSON數(shù)據(jù)了。 總結(jié)一下,我們在使用axios請求本地JSON文件時,遇到404錯誤的問題,應該首先檢查服務器的配置。只有在服務器正確識別了JSON文件后,才能正確地獲取JSON數(shù)據(jù)。
上一篇css 選擇器 兩個標簽
下一篇css 選擇器 或者