最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

vue啟動后請求后端接口報ERR_EMPTY_RESPONSE錯誤的解決

 更新時間:2023年05月18日 10:52:02   作者:我是大咸魚  
這篇文章主要介紹了vue啟動后請求后端接口報ERR_EMPTY_RESPONSE錯誤的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

vue啟動請求后端接口報ERR_EMPTY_RESPONSE錯誤

原因分析

首先這錯只出現(xiàn)在瀏覽器上,沒有出現(xiàn)在app上,由此肯定應該是跨域了??赡苁欠掌髋渲昧耸裁矗瑢е聸]直接報出跨域應該報錯的內(nèi)容。

解決方案

我們先不考慮后端做修改,先從前端做些修改。

  • 1.直接打包放服務器,同域名和同端口不會報錯,但每次需要打包好放到服務器,才能看效果,肯定不利于調(diào)試,我們需要的是本地調(diào)試好,再打包放到服務器。
  • 2.配置本地服務代理

第一種是直接在vue.config.js文件里面配置最為方便

第二種利用node.js寫一個本地服務代理,來轉(zhuǎn)發(fā)瀏覽器的請求。這種方式其實和第一種原理是一樣的,但這方式可擴展性好。

我之前用第一種方式,是一直請求不成功,也不報什么錯,一直請求超時,看不到可用的信息,無從查起問題的根源。

索性直接自己寫個代理服務,因為服務和服務之間是不會跨域的。這里推薦使用express框架來寫,

先去下載express和express-http-proxy,命令為:

npm install express --save
npm install express-http-proxy --save

創(chuàng)建一個js文件,放根目錄就行

const express = require("express");
const proxy = require("express-http-proxy");
const app = express();
// 瀏覽器與服務器有同源策略限制,服務器與服務器之間沒有同源策略限制
app.all('*', function (req, res, next) {//必須卸載app.get前面才有效
  res.header("Access-Control-Allow-Origin", "*");
  res.header("Access-Control-Allow-Headers", "Content-Type,Content-Length, Authorization, Accept,X-Requested-With,x-access-token");
  res.header("Access-Control-Allow-Methods", "PUT,POST,GET,DELETE,OPTIONS");
  if (req.method == "OPTIONS") {
    res.send(200);
    /*讓OPTIONS請求快速返回*/
  } else {
    next();
  }
});
app.use('/', proxy('http://真實服務器的地址', {
  //過濾器(可選)
  filter: function(req, res) {
    console.log(`請求的路徑1:${req.url}`);
    return true;
  },
  //請求路徑解析(可選)
  proxyReqPathResolver: function(req) {
    console.log(`請求的路徑2:${req.url}`);     //請求的路徑
    return `${req.url}`        //轉(zhuǎn)發(fā)請求路徑
  },
  //返回數(shù)據(jù)處理,如果過程有異步操作應返回Promise(可選)
  userResDecorator: function(proxyRes, proxyResData, userReq, userRes) {
    //同步
    console.log('返回的數(shù)據(jù)1: '+proxyRes)
    console.log('返回的數(shù)據(jù)2: '+proxyResData)
    data = JSON.parse(proxyResData.toString('utf8'));
    return JSON.stringify(data);
  },
  //處理請求(可選)
  proxyReqOptDecorator: function (proxyReqOpts, srcReq) {
    // you can update headers
    // proxyReqOpts.headers['Content-Type'] = 'text/html';
    // you can change the method
    // proxyReqOpts.method = 'GET';
    console.log('proxyReqOpts == '+proxyReqOpts);
    return proxyReqOpts;
  },
  //處理請求body(可選)
  proxyReqBodyDecorator: function (bodyContent, srcReq) {
    console.log('body == '+bodyContent);
    return bodyContent;
  },
  //處理請求頭(可選)
  userResHeaderDecorator(headers, userReq, userRes, proxyReq, proxyRes) {
    // recieves an Object of headers, returns an Object of headers.
    return headers;
  },
  //自定義錯誤(可選)
  proxyErrorHandler: function (err, res, next) {
    next(err);
  }
}))
let server = app.listen(8083,function(){
  const port = server.address().port
  console.log('服務開啟成功端口號是:'+port)
})

vue開發(fā)項目請求時后端接口常見報錯

第一個:Cannot read property ‘upgrade’ of undefined

Cannot read property ‘upgrade’ of undefined

這是主要是因為在vue.config.js中使用了跨域代理,但是跨域里面的的target字段為空就會出現(xiàn)此報錯

解決:

? ?proxy: {
? ? ? ? ? ? //配置跨域
? ? ? ? ? ? '/api': {
? ? ? ? ? ? ? ? target: '139.198.180.240:8199', // 接口的域名 ? 這個一定要配置
? ? ? ? ? ? ? ? // ws: true, // 是否啟用websockets
? ? ? ? ? ? ? ? changOrigin: true, // 開啟代理,在本地創(chuàng)建一個虛擬服務端
? ? ? ? ? ? ? ? pathRewrite: {
? ? ? ? ? ? ? ? ? ? '^/api': '/'
? ? ? ? ? ? ? ? }
? ? ? ? ? ? }
? ? ? ? }

第二個:name.toUpperCase is not a function

name.toUpperCase is not a function

在axios請求中,請求頭中設置token之后,必須保證其是一個對象,如果是字符串就會報此錯誤

解決:

headers: { Authorization: "Bearer " + remember_token }

第三個:Network Error

Network Error

Visual Studio Code與Idea前后端分離操作,當Idea與Visual Studio Code都啟動了,在頁面登陸卻報了 登陸失敗的消息 nginx沒有啟動

總結(jié)

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 基于Vue3創(chuàng)建一個簡單的倒計時組件

    基于Vue3創(chuàng)建一個簡單的倒計時組件

    這篇文章主要給大家介紹了基于Vue3創(chuàng)建一個簡單的倒計時組件的代碼示例,文中通過代碼示例介紹的非常詳細,具有一定的參考價值,需要的朋友可以參考下
    2023-11-11
  • vue-router 手勢滑動觸發(fā)返回功能

    vue-router 手勢滑動觸發(fā)返回功能

    這篇文章主要介紹了vue-router 手勢滑動觸發(fā)返回功能,文中通過實例代碼給大家介紹了vue圖片左右滑動及手勢縮放,需要的朋友可以參考下
    2018-09-09
  • Vue模擬響應式原理底層代碼實現(xiàn)的示例

    Vue模擬響應式原理底層代碼實現(xiàn)的示例

    最近去面試的人都會有這個體會,去年面試官只問我怎么用vue,今年開始問我vue響應式原理,本文就詳細的介紹一下
    2021-08-08
  • vue-cropper插件實現(xiàn)圖片截取上傳組件封裝

    vue-cropper插件實現(xiàn)圖片截取上傳組件封裝

    這篇文章主要為大家詳細介紹了vue-cropper插件實現(xiàn)圖片截取上傳組件封裝,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-05-05
  • vue項目打包后請求地址錯誤/打包后跨域操作

    vue項目打包后請求地址錯誤/打包后跨域操作

    這篇文章主要介紹了vue項目打包后請求地址錯誤/打包后跨域操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-11-11
  • Element Dropdown下拉菜單的使用方法

    Element Dropdown下拉菜單的使用方法

    這篇文章主要介紹了Element Dropdown下拉菜單的使用方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-07-07
  • Electron+vue從零開始打造一個本地播放器的方法示例

    Electron+vue從零開始打造一個本地播放器的方法示例

    這篇文章主要介紹了Electron+vue從零開始打造一個本地播放器的方法示例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-10-10
  • Vue中的directive指令快速使用

    Vue中的directive指令快速使用

    這篇文章主要介紹了Vue中的directive指令快速使用,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-10-10
  • Vue學習筆記之表單輸入控件綁定

    Vue學習筆記之表單輸入控件綁定

    本篇文章主要介紹了Vue學習筆記之表單輸入綁定,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-09-09
  • 八個一看就覺得很棒的Vue開發(fā)技巧分享

    八個一看就覺得很棒的Vue開發(fā)技巧分享

    在用Vue開發(fā)的這幾年里,我學到了很多有用的技巧,所以這篇文章主要給大家分享介紹了八個一看就覺得很棒的Vue開發(fā)技巧,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2023-04-04

最新評論

治县。| 龙里县| 宁化县| 阿城市| 墨竹工卡县| 宣恩县| 中江县| 乳山市| 汤原县| 宝坻区| 长岭县| 武定县| 昭苏县| 正镶白旗| 大冶市| 奇台县| 定结县| 四子王旗| 临西县| 凤凰县| 沾益县| 正蓝旗| 城市| 湘潭县| 浑源县| 韶山市| 隆尧县| 和田县| 克什克腾旗| 慈溪市| 楚雄市| 大渡口区| 阿城市| 汉川市| 嘉义市| 同江市| 安溪县| 海城市| 安康市| 克拉玛依市| 根河市|