当前位置: 首页 > 知识库问答 >
问题:

Axios post请求被flask made API拒绝。CORS出现错误[重复]

赫连俊悟
2023-03-14

我试图通过一个用Flask制作的API从我的react应用程序中添加用户。但是post请求出现了以下错误。

'http://localhost:5000/api/v1.0/add'from origin'http://localhost:3000'已被CORS策略阻止:在飞行前响应中,access-control-allog-headers不允许请求头字段access-control-allog-origin。

const params = { 
        user_name  : '5678234121',
        passwd    : 'password',
        location   : 'Kolkata',
        pin_code   : '700019',
        secret_ques: 'What is your mother s maiden name?',
        answr       : 'aba',
        status      : 'Active',
        remarks    : 'test data'
     };

  const res = await Axios.post(
    'http://localhost:5000/api/v1.0/add', params, {  
    headers: {
      'content-type': 'application/json',
      'Access-Control-Allow-Origin' : '*',
      'Access-Control-Allow-Methods' : 'GET,PUT,POST,DELETE,PATCH,OPTIONS',
   },
  });

  console.log(res.data);
@app.route('/api/v1.0/add', methods=["POST"])

def add():
   con = None
   db = datadir + datafile
   try:
      _json   = request.json
      _name   = _json['user_name']
      _psswd  = _json['passwd']
      _locatn = _json['location']
      _pincd  = _json['pin_code']
      _secrt  = _json['secret_ques']
      _ans    = _json['answr']
      _stat   = _json['status']
      _remks  = _json['remarks']

        # validate the received values
  if _name and _psswd and _pincd and request.method == 'POST':
        #do not save password as a plain text
     _hashed_password = base64.b64encode(_psswd.encode("utf-8"))
        # save edits
     sql = '''INSERT INTO user_mast(user_name, passwd, location, pin_code, secret_ques, answr, status, remarks ) VALUES (?, ?, ?, ?, ?, ?, ?, ?)'''
     data = (_name, _hashed_password.decode('ASCII'), _locatn, _pincd, _secrt,_ans, _stat, _remks , )

     con = sqlite3.connect( db )            # Connection to database
     cur = con.cursor()
     cur.execute(sql, data)
     con.commit()
     resp = jsonify({'Status' : 'User added successfully!'})
     resp.status_code = 200
  else :
     resp =  jsonify ({'Status' :'Mandatory fields: Name,Password,Pincode missing..'})
     resp.status_code = 502


except sqlite3.Error as e:
      resp = jsonify({'Status' :'Database Error'})
      resp.status_code = 500


except Exception as e:
      print(e)
      resp = jsonify({'Status' :'Unknown Error : Contact Administrator'})
      resp.status_code = 501
   finally:
      cur.close() 
      con.close()
   return resp

请帮我修复这个错误,对此一无所知。

共有1个答案

井宪
2023-03-14

如果您是新手,我建议您只需将Flask-CORS添加到您的应用程序中,而不要随意使用header。

 类似资料:
  • 问题内容: 我在端口5000的node.js服务器上设置了CORS,如下所示: 我现在正尝试像这样在从硬盘打开的静态网页中使用JQuery发送AJAX POST请求: 该函数从不调用,并且我得到的唯一警报是来自XHR 处理程序的警报,其中包含以下错误: 我认为CORS配置合理, 我缺少什么? 编辑 :对于我而言,我能找到的最佳解决方案是从服务器发送页面: 问题答案: 这是我正在使用的代码。它位于我

  • 我正在使用rest模板调用外部系统,它在本地运行正常,没有任何超时设置,但在我的测试服务器上,它给了我以下错误: “的POST请求时出现I/O错误”https://externalsystem/url“:连接被拒绝:连接;嵌套的异常是java。网ConnectException:连接被拒绝:连接

  • 问题内容: 我在ajax中执行此请求,但是我仍然遇到以下有关CORS的错误:XMLHttpRequest无法加载https://cubber.zendesk.com/api/v2/organizations/37520251/users.json。在飞行前响应中,Access- Control-Allow-Headers不允许请求标头字段Access-Control-Allow-Origin。您能

  • 我按照这个链接创建我的第一个docker映像,它成功了,现在我正试图从这个链接将这个映像推送到我的docker存储库中。但每当我试图将此图像推入存储库时,就会出现这种类型的错误。 有人能给我一些关于这个问题的提示吗?任何帮助都将不胜感激。 注意:我已成功登录docker

  • 问题内容: 场景:A.com上的页面A具有一个包含B.com上的页面B的IFrame。网页B使用jQuery的1.10.1和它 不会 需要页次A.沟通 不管这个事实如何,jQuery在IE9和IE10中都会生成“ SCRIPT5:访问被拒绝”。错误,并且似乎根本不执行任何jQuery。我不需要跨域通信,AJAX请求等,但是我确实需要jQuery来加载和执行B页中没有错误。 有没有办法防止此错误在I

  • 首先,我想说我可能缺少了一些基本的东西,但实际上我是Symfony的新手。 当我从terminal创建包时(我使用的是mac),它给了我这个错误;