国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

VUE axios發送跨域請求需要注意的問題

2019-11-19 16:09:01
字體:
來源:轉載
供稿:網友

在實際項目中前端使用到vue,后端使用php進行開發。前端使用axios請求請求

關于跨域

跨域的概念這些就不說了,百度一大堆相關的資料信息。我就只在這里記錄下我在使用當中遇到的問題,以紀念在逝去的幾個小時中資料查找的艱辛。

不多說,直接上代碼~~~~

同理,跨域的解決方案為cros。服務器 PHP端代碼如下(laravel 中間件進行處理):

public function handle($request, Closure $next)  {    if ($request->isMethod('OPTIONS')) {      $response = response('', 200);    } else {      $response = $next($request);    }    if (!method_exists($response, 'header')) {      return $response;    }    $response->header('Access-Control-Allow-Methods', 'HEAD, GET, POST, PUT, PATCH, DELETE, OPTIONS');    $response->header(      'Access-Control-Allow-Headers',      'Content-Type, Content-Length, Authorization, Accept, X-Requested-With, Token'    );    $response->header('Access-Control-Allow-Origin', '*');    $response->header('Access-Control-Max-Age', 86400);    return $response;  }

Vue端 axios 請求:

axios.post('http://XXXX.com',{name:'test'});

這樣寫,在請求的時候就會遇到:


很坑爹有沒有?明明是已經設置好了的啊,為毛是這樣???

查找了很多資料才發現,axios在發送數據時需要字符串的方式進行發送,也就是說是放在form-data當中的。在實際項目中,為了方便,我引入了 qs 來幫助處理這塊數據:

解決后的代碼應該是:

import qs from 'qs';axios.post('http://xxxxx.com',qs.stringify({name:'test'})).then(re=>{  console.log(re);});

OK,問題解決。明明感覺很簡單,但是就是因為自己不懂,導致找了很久才知道原因,之前一直在折騰后臺的設置,忽略了前端本身的處理。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 双柏县| 禄劝| 邵阳市| 胶州市| 大同县| 中牟县| 海林市| 北辰区| 天峨县| 玉树县| 逊克县| 安图县| 南康市| 左贡县| 上犹县| 苏尼特左旗| 兴隆县| 唐河县| 舟山市| 太仓市| 凭祥市| 普兰店市| 新乡市| 施甸县| 虹口区| 南郑县| 确山县| 雷州市| 姚安县| 丹棱县| 大方县| 班戈县| 佛坪县| 婺源县| 松原市| 盱眙县| 枝江市| 阳朔县| 伊通| 双城市| 扶余县|