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

首頁 > 開發 > JS > 正文

react中fetch之cors跨域請求的實現方法

2024-05-06 16:43:05
字體:
來源:轉載
供稿:網友

項目中使用了react,當中需要使用fetch來代替ajax。

由于react的create_react_app工具很方便,基本上開箱即用,經過創建項目,輸入npm start命令后,便自動監聽一個3000的端口,到此前端部分就緒。

具體參考:https://github.com/facebookincubator/create-react-app

后端部分我使用了phalcon。

由于前后端分離,為了方便,我嘗試在nginx中使之同域(前端和后臺api的頂級域名相同),但phalcon框架是單入口、react監聽3000時候,通過nginx反向代理,出現js找不到的問題,于是放棄同域的打算。

因此我配置了兩個域名:

1、www.xxx.com
2、data.xxx.com

第一個域名用于react部分,端口號是3000(調試用,正式上線是80)
第二個域名用于api,端口號是80

于是乎出現跨域問題。

以下是php部分的允許跨域域名訪問的設置

  $origin    = isset($_SERVER['HTTP_ORIGIN'])?$_SERVER['HTTP_ORIGIN']:'';  $allowOrigin = [            'http://www.xxx.com',            'http://xxx.com'          ];  if (in_array($origin, $allowOrigin)) {    header('Access-Control-Allow-Origin: ' . $origin);  }  header('Access-Control-Allow-Methods: PUT,POST,GET,DELETE,OPTIONS');  header('Access-Control-Allow-Credentials: true');  header('Access-Control-Allow-Headers: Content-Type, Accept');

以下是fetch部分的ajax請求

let postData = {a:'b'};fetch('http://data.xxx.com/Admin/Login/login', {  method: 'POST',  mode: 'cors',  credentials: 'include',  headers: {    'Content-Type': 'application/x-www-form-urlencoded'  },  body: JSON.stringify(postData)}).then(function(response) {  console.log(response);});

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


注:相關教程知識閱讀請移步到JavaScript/Ajax教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 治多县| 潍坊市| 新河县| 梅河口市| 东平县| 饶河县| 三门县| 军事| 含山县| 金坛市| 绍兴市| 乌恰县| 房山区| 裕民县| 呈贡县| 商南县| 德安县| 海城市| 彭山县| 临武县| 望都县| 湘乡市| 渭南市| 枣强县| 富锦市| 水富县| 奇台县| 阿图什市| 眉山市| 潼南县| 巫溪县| 昌邑市| 宣武区| 延长县| 来凤县| 延吉市| 循化| 苏尼特右旗| 独山县| 灵台县| 左权县|