在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/Linux  HTML/ react 中如何進行跨域處理?

react 中如何進行跨域處理?

最近在學習react,想請問下react中有沒有像vue一樣能配置跨域請求接口數(shù)據(jù)的?如果可以進行,如何進行跨域請求?最好能詳細點...


1.目前項目環(huán)境是自己搭建的,沒有使用create-react-app腳手架,因為在使用腳手架搭建的過程中,出現(xiàn)了一些坑,所以果斷舍棄了;
2.項目的接口數(shù)據(jù)是請求的豆瓣數(shù)據(jù),使用的是fetch,但需要進行跨域;
3.已經(jīng)了解了一些跨域配置,但是均沒有實現(xiàn),要么能跨域,返回200狀態(tài),但是請求回來的bodynull,要么直接無法跨域操作;

回答
編輯回答
尕筱澄

webpackproxy就可以了。

你的項目是create-react-app創(chuàng)建的就可以在package.json中添加proxy,如下:

{
  // ...
  "proxy": {
    "/api": {
      "target": "<url>",
      "ws": true
      // ...
    }
  }
  // ...
}
2017年5月24日 05:08
編輯回答
舊時光

如果你項目中使用了 Express 可以使用 express-http-proxy

// 安裝
npm install express-http-proxy --save
// 使用
const express = require('express');
const proxy = require('express-http-proxy');

server.use('/api', proxy('https://xxxxxx.com/'));

順便提一點,Fetch 發(fā)送請求默認是不帶 cookie 的,你需要在 header 里加上 credentials: 'include'

2017年10月11日 08:19
編輯回答
懶豬

自己配置服務器
webpack配置
proxyTable

2017年12月24日 17:03
編輯回答
尛曖昧

跨域與否和你用的框架無關,這應該包裝一個單獨的模塊來處理,既然你用了fetch,有一個庫叫fetch-jsonp,github上自己去找。建議你抽空去看看到底什么是跨域,前端跨域的方法有哪些,補充一下知識

2017年11月24日 18:21
編輯回答
來守候

跨域和react框架沒有關系。 fetch返回的數(shù)據(jù)需要response.json()一下不知道你有這樣沒有? 或者使用其他的組件試試 比如說jsonpaxios

2018年7月8日 17:29
編輯回答
司令

首先,跨域這個問題,是純前端無法解決的。
1 JSONP處理跨域,一般這個方法是為了兼容老版本ie,因為ie9及以下不能使用CORS,然而JSONP也需要后臺支持才 可以。

2 服務器做重定向,或者代理,或者穿透等等技術,但這些都超越了前端的能力范圍。

3 XMLHttpRequest。需要和后臺進行請求頭設置,具體方法可以百度

綜上所述,跨域問題與框架無關,也不是前端能獨立解決的,所以建議題主去找后端大哥商量一下

2018年2月5日 03:11
編輯回答
孤影
fetch(url, {
        method: "POST",
  mode: "no-cors",//可以在這設置跨域
  headers: {
    "Content-Type": "application/x-www-form-urlencoded"
  },
  body: "請求參數(shù)"
        }).then(function(res) {
 console.log("Response succeeded?", JSON.stringify(res.ok));
 console.log(JSON.stringify(res));
}).catch(function(e) {
 console.log("fetch fail", JSON.stringify(params));
}); 
2018年3月7日 12:24