Проблема с CORS - js и python flask - PullRequest
0 голосов
/ 26 января 2020

Итак, я пытаюсь научиться реагировать - js и столкнулся с этой проблемой, связанной с CORS, при вызове API flask из приложения реагирования - js. Пожалуйста, см. Два сценария ios ниже. 1 - во время вызова «http://127.0.0.1: 5000 / » из приложения Reaction- js Я получаю ответ. 2-но, когда я звоню 'http://127.0.0.1: 5000 // show_color ', я получаю следующую ошибку в консоли браузера: -

Access to fetch at 
'http://127.0.0.1:5000//show_color' from origin 'http://localhost:3002' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: Redirect is not allowed for a preflight request.
Uncaught (in promise) TypeError: Failed to fetch.

и ошибка, отображаемая flask is - "OPTIONS //show_color HTTP/1.1" 301 -"

Пожалуйста, ознакомьтесь с кодами реагирования - js и python flask ниже

class App extends Component {
  state = { lipcolor: null };
  componentDidMount() {
    this.search();
  }

  search = lipcolor => {
    fetch(`${API_ADDRESS}/show_color`, {
      headers : { 
        'Content-Type': 'application/json',
        'Accept': 'application/json'
       }

    }).then(response =>
      response.json().then(data => {
        console.log(data);
      })
    );
  }
  render() {
    return (
      <div>
        <h2>Target 2020</h2>
        <SearchColor search={this.search}/>
      </div>
    )
  }
}
export default App;

Flask фрагменты кода ниже 1-го работает, а второй дает ошибку

@app.route('/')
@cross_origin(supports_credentials=True)
def index():
   response=jsonify({'status':'hello'})
   return response

@app.route('/show_color',methods=['GET','POST'])
@cross_origin(supports_credentials=True)
def add_movie():       response=jsonify({'status':'show_color'})
        return response

Пожалуйста, помогите мне найти проблему

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...