2

私は初心者の python プログラマーで、javascript からフォームを取得するのに役立つツールを見つけるのに苦労しています。Python で小さなスクリプトを作成し、JavaScript で簡単なインターフェイスを作成しました。ユーザーはブラウザでいくつかの項目を選択する必要があり、JavaScript は sendForm() を返します。次に、Python スクリプトを使用してフォームを復元したいと思います。javascriptでxmlファイルを生成し、pythonスクリプトにその作成まで待機してから(os.path.exist(..)で)キャッチするように指示できることは知っていますが、これは避けたいと思います。cgi、mechanize、pyjs、(selenium?) などのライブラリが python と html、javascript のインターフェイスとして存在することを見てきましたが、どれを使用すればよいか、またはフォームの復元を簡単に処理する別のツールがあるかどうかがわかりません。

詳細: python スクリプトは、javascript によって読み取られる xml を生成します。ユーザーは、javascript で (チェックボックスを使用して) アイテムを選択し、それが javascript によって xml でタグ付けされます。次に、javascript は変更された xml を隠しフィールドに出力します。この変更された xml を、作成後に Python スクリプトで取得したいと考えています。

お世話になりました皆様、誠にありがとうございました

4

2 に答える 2

2

コメントで明確にしていただきありがとうございます。Web サイトを構築しているので、AJAX を使用して Python Web アプリケーションを呼び出し、何かを返したいと思うでしょう (あなたの場合はおそらく XML ですが、JSON について読むことをお勧めします)。問題に対する最善の解決策がまだないように思えますが、それは別の問題です。Python で xml を生成し、JavaScript で読み取り、JavaScript で更新し、フォーム送信時に Python で再度読み取るという手間がかかる理由がわかりません。まず、ユーザーが JavaScript を無効にするとどうなるかを考えてみてください。

とにかく、FlaskjQueryについて読むことをお勧めします。アプリケーションは、Python では次のようになります。

from flask import Flask
app = Flask(__name__)

@app.route('/', methods=['POST', 'GET'])
def foo():
    if request.method == 'GET':
        # Generate the XML
        return myXML
    if request.method == 'POST':
        # Read that hidden field
        xml = request.form['the_hidden_xml']
        # Do what you will
        return render_template('homepage.html')

if __name__ == "__main__":
    app.run()

JavaScipt はおそらくこれを行います。

function buildTheForm() {
    $.get('/', function(data) {
        // handle the xml in data
        alert('Load was performed.');
    });
}

フォームはおそらくこれを行います:

<form action="/" method="post">
于 2012-07-09T14:13:07.987 に答える
0

お使いのシステムは Web アプリケーションですか。そうであれば、JavaScript は ajax を使用して Python バックエンドに投稿できます。次に、フォームをjson文字列に暗号化してバックエンドに送信できます。バックエンドでは、その文字列をPython変数に解析できます... Javascript自体は、ローカルで実行する以外はローカルファイルにアクセスできません(ただし、実際には.限定)

Django のような Web フレームワークを試すことをお勧めします。1日で簡単に習得できます。

于 2012-07-08T14:28:59.800 に答える