Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reactjs Axios post请求被api拒绝。出现CORS错误_Reactjs_Post_Flask_Cors_Axios - Fatal编程技术网

Reactjs Axios post请求被api拒绝。出现CORS错误

Reactjs Axios post请求被api拒绝。出现CORS错误,reactjs,post,flask,cors,axios,Reactjs,Post,Flask,Cors,Axios,我正试图通过使用flask制作的API从react应用程序添加用户。但是post请求出错,出现以下错误 来自源站“”的“”已被CORS策略阻止:飞行前响应中的访问控制允许标头不允许请求标头字段访问控制允许源站。 我的axios代码如下 const params = { user_name : '5678234121', passwd : 'password', location : 'Kolkata', pin_cod

我正试图通过使用flask制作的API从react应用程序添加用户。但是post请求出错,出现以下错误

来自源站“”的“”已被CORS策略阻止:飞行前响应中的访问控制允许标头不允许请求标头字段访问控制允许源站。

我的axios代码如下

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
我的烧瓶代码如下

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

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

如果您是新手,我建议您只添加到应用程序中,而不要使用标题。

谢谢您的回复。请详细说明,我需要在我的flask应用程序中添加哪些行才能使其正常工作?