2017-11-02 28 views
1

Axiosポストを使用して、私の情報をPythonフラスコを使用してバックエンドに送信しています。 ReactJSをフロントエンドとして使用しています。Axiosポストはデータを送信しません

sendInfo(){ 
    var config = { headers: { 
        'Content-Type': 'application/json', 
        'Access-Control-Allow-Origin': '*'} 
       } 

    axios.post('/myprofileC',{ 
     department:this.state.department; 
     student: this.state.student 
    },config) 
    .then(function (response) { 
     if (response.data == '/myprofile'){ 
      console.log(this.state); 
      alert('Your changes have been saved'); 
     } 
      window.location = '/myprofile'; 
     }) 
    .catch(function (error) { 
     console.log(error); 
    }); 
    } 
    } 

2つのページに同じコード(別のデータ)を使用していますが、うまくいきます。しかし、この1ページでは、データはまったく送信されませんでした。私がPythonの終わりから何かを印刷しようとすると、私は空の辞書を取得します。

誰が何が起こっているのか分かりませんか?

答えて

3

Access-Control-Allow-Originヘッダーを設定しないでください。これはサーバーの応答で送信されるものです。また、コードに構文エラーがあります。以下は、有効なJavaScriptオブジェクトではありません。

{ 
    department: this.state.department; 
    student: this.state.student 
} 

はカンマ(,)とセミコロン(;)を交換してください。他のすべては私には大丈夫です。

Chrome開発ツールの[ネットワーク]タブ:https://developers.google.com/web/tools/chrome-devtools/network-performance/referenceに慣れてください。上記のリクエストが実際に実行された場合、リクエストとレスポンスの詳細が表示されます。

+0

こんにちは、はい、私は '、'の代わりに ';'コードをコピーしてここに貼り付けると、私はタイプミスを犯しました。私はまた、ヘッダーから 'Access-Control-Allow-Origin'を削除し、何とかリクエストが適切に送信されなかった。その要求からの応答は、私が空のデータに対して期待したものでした。だから私はなぜデータが正しく送信されなかったのか分からない。 – nguyli03

+0

私はそれがタイプミスだと思っていましたが、確信していました。 'this.state.department'と' this.state.student'はリクエストをしたときに実際に設定されていますか? Chromeの開発ツールではどのような要求ですか? – chipit24

+0

私はconsole.logこれら2つのデータを応答部分と私はデータを見た。私もchromeの開発ツールを調べました。データが送信されなかったようです。名前、ステータスなどで送信されるデータのセクションは空です。 – nguyli03

関連する問題