pbootcms网站模板|日韩1区2区|织梦模板||网站源码|日韩1区2区|jquery建站特效-html5模板网

  • <i id='dWbm2'><tr id='dWbm2'><dt id='dWbm2'><q id='dWbm2'><span id='dWbm2'><b id='dWbm2'><form id='dWbm2'><ins id='dWbm2'></ins><ul id='dWbm2'></ul><sub id='dWbm2'></sub></form><legend id='dWbm2'></legend><bdo id='dWbm2'><pre id='dWbm2'><center id='dWbm2'></center></pre></bdo></b><th id='dWbm2'></th></span></q></dt></tr></i><div class="xj9thzh" id='dWbm2'><tfoot id='dWbm2'></tfoot><dl id='dWbm2'><fieldset id='dWbm2'></fieldset></dl></div>

  • <small id='dWbm2'></small><noframes id='dWbm2'>

    1. <legend id='dWbm2'><style id='dWbm2'><dir id='dWbm2'><q id='dWbm2'></q></dir></style></legend>

      <tfoot id='dWbm2'></tfoot>

      • <bdo id='dWbm2'></bdo><ul id='dWbm2'></ul>

        使用 Node.js 后端在我的 React 應用程序中啟用 CO

        Enable CORS in my React App with Node.js backend(使用 Node.js 后端在我的 React 應用程序中啟用 CORS)

            <tbody id='BHMNM'></tbody>
          <i id='BHMNM'><tr id='BHMNM'><dt id='BHMNM'><q id='BHMNM'><span id='BHMNM'><b id='BHMNM'><form id='BHMNM'><ins id='BHMNM'></ins><ul id='BHMNM'></ul><sub id='BHMNM'></sub></form><legend id='BHMNM'></legend><bdo id='BHMNM'><pre id='BHMNM'><center id='BHMNM'></center></pre></bdo></b><th id='BHMNM'></th></span></q></dt></tr></i><div class="dfd5ztd" id='BHMNM'><tfoot id='BHMNM'></tfoot><dl id='BHMNM'><fieldset id='BHMNM'></fieldset></dl></div>

          <legend id='BHMNM'><style id='BHMNM'><dir id='BHMNM'><q id='BHMNM'></q></dir></style></legend>

              <bdo id='BHMNM'></bdo><ul id='BHMNM'></ul>
              • <tfoot id='BHMNM'></tfoot>

                  <small id='BHMNM'></small><noframes id='BHMNM'>

                • 本文介紹了使用 Node.js 后端在我的 React 應用程序中啟用 CORS的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!

                  問題描述

                  我使用 create-react-app 來構建我的 react 應用程序.這個應用程序在另一個 API(elasticsearch)上進行 POST 調用,托管在不同的服務器上(不是我擁有/管理的).因此,一旦用戶在表單中輸入數據,onSubmit 基本上會調用 getResponse() 方法來進行調用.初始化客戶端:

                  I used create-react-app to build my react app. This app does a POST call on another API (elasticsearch), hosted on a different server (not owned/managed by me). So once the user enters the data in the form, onSubmit basically calls getResponse() method that makes the call. Initialize client:

                  let client = new elasticsearch.Client({
                      host: "https://{cred.user}:{cred.pass}@@servername.domain:11121",
                      log: "trace",
                  });
                  

                  API 查詢:

                  getResponse?=?()?=>?{
                  ????????client
                  ??????????.search({
                  ????????????index:?'custom_index_1',
                  ????????????body:?{
                  ????????????????query:?{
                  ????????????????????match:?{"data":?this.state.data}
                  ????????????????},
                  ????????????}
                  ????????},function(error,?response,?status)?{
                  ????????????if?(error)?{
                  ????????????????const?errorMessage=?{error};
                  ????????????????console.log(errorMessage);
                  ????????????}
                  ????????????else?{
                  ????????????????this.setState({results:?response.hits.hits});
                  ????????????????console.log(this.state.results);
                  ????????????}
                  ????????});
                  ????}
                  

                  但我收到如下 CORS 錯誤:

                  But I'm getting the CORS error as follows:

                  Failed to load resource: the server responded with a status of 403 (Forbidden)
                  localhost/:1 Access to XMLHttpRequest at 'https://servername.domain:11121/' from origin 'http://localhost:3000' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource.console.js:40 
                  WARNING: 2019-11-21T07:54:32Z No living connections
                  

                  在閱讀了關于相同問題的 SO 后,我發現使用 cors npm 模塊可以解決此問題(至少在開發中).但我不明白我把這段代碼放在哪里:

                  After reading in SO about the same issue, I found that using the cors npm module can fix this issue (at least in development). But I do not understand where do I put this code:

                  var express = require('express')
                  var cors = require('cors')
                  var app = express()
                  app.use(cors())
                  

                  var express = require('express')
                  var cors = require('cors')
                  var app = express()
                  
                  app.use(cors())
                  
                  app.get('/products/:id', function (req, res, next) {
                    res.json({msg: 'This is CORS-enabled for all origins!'})
                  })
                  
                  app.listen(80, function () {
                    console.log('CORS-enabled web server listening on port 80')
                  })
                  

                  我的問題如下:1.我在哪里添加上面的這段代碼?在我的反應應用程序的 app.js 中?如果是的話,有人可以給我一個例子嗎?我正在使用這樣的東西:

                  My questions are as follows: 1. Where do I add this code above? in my react app's app.js? If yes, can someone give me an example please. I am using something like this:

                  import statements
                  class App extends Component {
                   <code>
                  }
                  export default App;
                  

                  1. 如果要將此代碼添加到其他文件中,那么是哪個文件?是 server.js 嗎?如果是,我在哪里可以找到這個?我使用的是 Windows 7.節點安裝在客戶目錄中:C:MYSWNodeJs12.1.0.我在這里看到了一些 server.js:C:Usersuser1Scratch odemyreact_ui ode_modules eact-domserver.js,但它是正確的文件

                  1. If this code is to be added to some other file then which file? Is it server.js? If yes, where do I find this? I'm using Windows 7. Node is installed in a customer directory: C:MYSWNodeJs12.1.0. I see some server.js in here: C:Usersuser1Scratch odemyreact_ui ode_modules eact-domserver.js, but is it the right file

                  請給我一個示例,說明如何添加代碼以及在文件中的確切位置.我是 React 和 Node 的新手,所以我不太了解內部結構.我已經被困在這里好幾天了,真的需要一些幫助.謝謝.

                  Please give me a sample of how the code is added and where exactly in the file. I am new to React and Node so I do not know much about the internals. I'v been stuck here for days now and really need some help. Thanks.

                  到處都是,添加這段代碼就可以工作,沒有人提到我在哪里添加它以及如何添加?任何幫助表示贊賞.

                  Everywhere it says, add this code and it work, no one mentions where do I add it and how? Any help appreciated.

                  推薦答案

                  需要為 API 請求設置代理服務器 - https://create-react-app.dev/docs/proxying-api-requests-in-development/

                  You need to set up a proxy server for API requests - https://create-react-app.dev/docs/proxying-api-requests-in-development/

                  我不完全了解 Elastic 服務器的詳細信息,但您可以將 Express 代碼放入 src/server.js 文件中,靈感來自 https://stackoverflow.com/a/20539239/1176601:

                  I do not fully understand the details for Elastic server, but you can put the Express code into src/server.js file, inspired by https://stackoverflow.com/a/20539239/1176601:

                  var express = require('express')
                  var request = require('request')
                  var cors = require('cors')
                  var app = express()
                  
                  app.use(cors())
                  
                  app.use('/', function(req, res) {
                    var url = 'https://' +
                      req.get('host').replace('localhost:80', 'servername.domain:11121') + 
                      req.url
                    req.pipe(request({ qs:req.query, uri: url })).pipe(res);
                  })
                  
                  app.listen(80, function () {
                    console.log('CORS-enabled web server listening on port 80')
                  })
                  

                  更新 package.json

                  update package.json

                  "scripts": {
                     ...
                     "server": "node src/server.js"
                  },
                  "proxy": "http://localhost:80"
                  

                  修改你的客戶端:

                  let client = new elasticsearch.Client({
                      host: "{cred.user}:{cred.pass}@@localhost:80",
                      log: "trace",
                  });
                  

                  并通過 npm run server 啟動它(在 npm start 之前或之后,例如在單獨的終端中).

                  And start it by npm run server (before or after npm start, e.g. in a separate terminal).

                  在第一次開始之前,你需要安裝所有 required 模塊,npm i -D express request cors.

                  Before the first start, you will need to install all required modules, npm i -D express request cors.

                  這篇關于使用 Node.js 后端在我的 React 應用程序中啟用 CORS的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,也希望大家多多支持html5模板網!

                  【網站聲明】本站部分內容來源于互聯網,旨在幫助大家更快的解決問題,如果有圖片或者內容侵犯了您的權益,請聯系我們刪除處理,感謝您的支持!

                  相關文檔推薦

                  Browser waits for ajax call to complete even after abort has been called (jQuery)(即使在調用 abort (jQuery) 之后,瀏覽器也會等待 ajax 調用完成)
                  JavaScript innerHTML is not working for IE?(JavaScript innerHTML 不適用于 IE?)
                  XMLHttpRequest cannot load, No #39;Access-Control-Allow-Origin#39; header is present on the requested resource(XMLHttpRequest 無法加載,請求的資源上不存在“Access-Control-Allow-Origin標頭) - IT屋-程序員軟件開發技術分
                  Is it possible for XHR HEAD requests to not follow redirects (301 302)(XHR HEAD 請求是否有可能不遵循重定向 (301 302))
                  XMLHttpRequest 206 Partial Content(XMLHttpRequest 206 部分內容)
                  Restrictions of XMLHttpRequest#39;s getResponseHeader()?(XMLHttpRequest 的 getResponseHeader() 的限制?)
                  <legend id='vIgmk'><style id='vIgmk'><dir id='vIgmk'><q id='vIgmk'></q></dir></style></legend>
                    <tbody id='vIgmk'></tbody>

                  <i id='vIgmk'><tr id='vIgmk'><dt id='vIgmk'><q id='vIgmk'><span id='vIgmk'><b id='vIgmk'><form id='vIgmk'><ins id='vIgmk'></ins><ul id='vIgmk'></ul><sub id='vIgmk'></sub></form><legend id='vIgmk'></legend><bdo id='vIgmk'><pre id='vIgmk'><center id='vIgmk'></center></pre></bdo></b><th id='vIgmk'></th></span></q></dt></tr></i><div class="bvhtd3t" id='vIgmk'><tfoot id='vIgmk'></tfoot><dl id='vIgmk'><fieldset id='vIgmk'></fieldset></dl></div>

                  <small id='vIgmk'></small><noframes id='vIgmk'>

                      <bdo id='vIgmk'></bdo><ul id='vIgmk'></ul>

                          <tfoot id='vIgmk'></tfoot>
                          • 主站蜘蛛池模板: PCB接线端子_栅板式端子_线路板连接器_端子排生产厂家-置恒电气 喷码机,激光喷码打码机,鸡蛋打码机,手持打码机,自动喷码机,一物一码防伪溯源-恒欣瑞达有限公司 假肢-假肢价格-假肢厂家-河南假肢-郑州市力康假肢矫形器有限公司 | 好杂志网-首页 | 不锈钢水管-不锈钢燃气管-卫生级不锈钢管件-不锈钢食品级水管-广东双兴新材料集团有限公司 | 海日牌清洗剂-打造带电清洗剂、工业清洗剂等清洗剂国内一线品牌 海外整合营销-独立站营销-社交媒体运营_广州甲壳虫跨境网络服务 | 西安微信朋友圈广告投放_微信朋友圈推广_西安度娘网络科技有限公司 | 找果网 | 苹果手机找回方法,苹果iPhone手机丢了找回,认准找果网! | 温泉机设备|温泉小镇规划设计|碳酸泉设备 - 大连连邦温泉科技 | 合肥礼品公司-合肥礼品定制-商务礼品定制公司-安徽柏榽商贸有限公司 | 阳光模拟试验箱_高低温试验箱_高低温冲击试验箱_快速温变试验箱|东莞市赛思检测设备有限公司 | 润滑脂-高温润滑脂-轴承润滑脂-食品级润滑油-索科润滑油脂厂家 | 美的商用净水器_美的直饮机_一级代理经销商_Midea租赁价格-厂家反渗透滤芯-直饮水批发品牌售后 | 紧急泄压人孔_防爆阻火器_阻火呼吸阀[河北宏泽石化] | 打包钢带,铁皮打包带,烤蓝打包带-高密市金和金属制品厂 | 棕刚玉-白刚玉厂家价格_巩义市东翔净水材料厂 | 美国PARKER齿轮泵,美国PARKER柱塞泵,美国PARKER叶片泵,美国PARKER电磁阀,美国PARKER比例阀-上海维特锐实业发展有限公司二部 | 刚性-柔性防水套管-橡胶伸缩接头-波纹管补偿器-启腾供水材料有限公司 | 商标转让-商标注册-商标查询-软著专利服务平台 - 赣江万网 | 西安烟道厂家_排气道厂家_包立管厂家「陕西西安」推荐西安天宇烟道 | 酒吧霸屏软件_酒吧霸屏系统,酒吧微上墙,夜场霸屏软件,酒吧点歌软件,酒吧互动游戏,酒吧大屏幕软件系统下载 | 杭州画室_十大画室_白墙画室_杭州美术培训_国美附中培训_附中考前培训_升学率高的画室_美术中考集训美术高考集训基地 | 今日热点_实时热点_奇闻异事_趣闻趣事_灵异事件 - 奇闻事件 | 污水处理设备,一体化泵站,一体化净水设备-「梦之洁环保设备厂家」 | 电缆接头_防水接头_电缆防水接头 - 乐清市新豪电气有限公司 | 玻璃瓶厂家_酱菜瓶厂家_饮料瓶厂家_酒瓶厂家_玻璃杯厂家_徐州东明玻璃制品有限公司 | 铝合金脚手架厂家-专注高空作业平台-深圳腾达安全科技 | 净化车间_洁净厂房_净化公司_净化厂房_无尘室工程_洁净工程装修|改造|施工-深圳净化公司 | 粘弹体防腐胶带,聚丙烯防腐胶带-全民塑胶 | 学校用栓剂模,玻璃瓶轧盖钳,小型安瓿熔封机,实验室安瓿熔封机-长沙中亚制药设备有限公司 | ★店家乐|服装销售管理软件|服装店收银系统|内衣店鞋店进销存软件|连锁店管理软件|收银软件手机版|会员管理系统-手机版,云版,App | 背压阀|减压器|不锈钢减压器|减压阀|卫生级背压阀|单向阀|背压阀厂家-上海沃原自控阀门有限公司 本安接线盒-本安电路用接线盒-本安分线盒-矿用电话接线盒-JHH生产厂家-宁波龙亿电子科技有限公司 | 影视模板素材_原创专业影视实拍视频素材-8k像素素材网 | 广州监控安装公司_远程监控_安防弱电工程_无线wifi覆盖_泉威安防科技 | 脱硫搅拌器厂家-淄博友胜不锈钢搅拌器厂家 | 间苯二酚,间苯二酚厂家-淄博双和化工 | 隆众资讯-首页_大宗商品资讯_价格走势_市场行情 | 档案密集架_电动密集架_移动密集架_辽宁档案密集架-盛隆柜业厂家现货批发销售价格公道 | 红酒招商加盟-葡萄酒加盟-进口红酒代理-青岛枞木酒业有限公司 | TYPE-C厂家|TYPE-C接口|TYPE-C防水母座|TYPE-C贴片-深圳步步精 | 破碎机锤头_耐磨锤头_合金锤头-鼎成机械一站式耐磨铸件定制服务 微型驱动系统解决方案-深圳市兆威机电股份有限公司 | 云南成考网_云南成人高考报名网| 杭州中央空调维修_冷却塔/新风机柜/热水器/锅炉除垢清洗_除垢剂_风机盘管_冷凝器清洗-杭州亿诺能源有限公司 |