このエラーで複数の質問がありましたが、この問題を解決するのに役立つものはありません。 Falconサーバーはon_post
メソッドのprint
ステートメントを印刷していません(on_get
はなんらかの理由で正常に動作しています)。on_post
メソッドの何が問題なのかよくわかりません。Python Falcon CORS Ajaxでエラーが発生しました
私のような私のlocalhost:8000
からPOSTメソッドを呼んでいる:
#client side
var ax = axios.create({
baseURL: 'http://localhost:5000/api/',
timeout: 2000,
headers: {}
});
ax.post('/contacts', {
firstName: 'Kelly',
lastName: 'Rowland',
zipCode: '88293'
}).then(function(data) {
console.log(data.data);
}).catch(function(err){
console.log('This is the catch statement');
});
これは、ファルコン・サーバ・コード
import falcon
from peewee import *
#declare resources and instantiate it
class ContactsResource(object):
def on_get(self, req, res):
res.status = falcon.HTTP_200
res.body = ('This is me, Falcon, serving a resource HEY ALL!')
res.set_header('Access-Control-Allow-Origin', '*')
def on_post(self, req, res):
res.set_header('Access-Control-Allow-Origin', '*')
print('hey everyone')
print(req.context)
res.status = falcon.HTTP_201
res.body = ('posted up')
contacts_resource = ContactsResource()
app = falcon.API()
app.add_route('/api/contacts', contacts_resource)
である私は、私が作ってるんだと想像私のon_post
メソッドで小さなエラーが、私はそれが何であるかを伝えることはできません。私は少なくともprint
ステートメントが動作すると仮定していただろうが、そうではない。
リクエストは 'OPTIONS'メソッド(' on_options')から 'on_post'メソッドに直接渡されるので、実際に自分のロジックに入りますか? – qarthandso
ブラウザが 'OPTIONS'リクエストを送信した後、必要な' Access-Control-Allow- * 'レスポンスヘッダを持つ期待されるレスポンスを受け取ると、ブラウザは先に進み、クライアントコードから' POST'リクエストを送ります。あなたのサーバがそれを取得すると、 'on_post'メソッドが呼び出されます – sideshowbarker