2

以下の Python Flask ルーターがあります。

@app.route('/create', methods=['GET', 'POST'])
@crossdomain(origin='*')
def create():
    if request.method == 'POST':
        print(request.form)
        title = request.form['title']
        url = request.form['url']

        new_mark = Mark(
            title=title,
            url=url
        )
        new_mark.save()

        return new_mark

ajax 呼び出し (以下) を実行すると、400 エラーが返されます。

$.ajax({
     type: 'POST',
     url: 'http://localhost:5000/create',
     data: {
            'title': sender.title,
            'url': sender.url
           },
     xhrFields: {
            withCredentials: true
           },
     dataType: 'json'
});

印刷しようとするrequestと、空のimmutableMultiDict. なぜこの400を与えているのか、なぜデータがないのか考えていますか?

4

2 に答える 2

1

あなたの ajax 呼び出しは、json でエンコードされたデータを送信しています。私はあなたがデコードする必要があると思います。

import json

data = json.loads(request.data)

print data.get("title")
于 2012-12-25T23:06:16.883 に答える
0

私は愚かだ。sender.url と sender.title に値が含まれていなかったため、実際にはデータを送信していませんでした ---。

于 2012-12-25T23:25:22.703 に答える