国产探花免费观看_亚洲丰满少妇自慰呻吟_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教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 邮箱| 庆元县| 宣化县| 洱源县| 江都市| 比如县| 金华市| 施甸县| 二手房| 抚松县| 萝北县| 邵武市| 涡阳县| 双鸭山市| 菏泽市| 永安市| 海兴县| 民县| 颍上县| 凌源市| 苍南县| 桓仁| 新安县| 东兴市| 中卫市| 聂拉木县| 六安市| 鹤庆县| 新化县| 东宁县| 富宁县| 孝感市| 敦煌市| 始兴县| 甘南县| 吴川市| 闻喜县| 合江县| 张北县| 胶南市| 资中县|