1

そのため、AJAX を介して "AltTitle" の ID を持つ要素の値を Pyramid バックエンドにポストしようとしています。以下のコードでは、Python は AlternativeTitle の request.param を受け取ります。それでおしまい。値なし。私は立ち往生しています。AJAX データのディクショナリを作成して、すべての値を Python に戻す方法を学びたいのですが、これまでのところ、動作させることができません。どんな助けでも感謝します....

$(document).ready(function(){
    $("button").click(function(){
        $.ajax({
            type:"POST",
            url:"/edit/29241",
            data:{
                "AlternativeTitle": $("#AltTitle").html()
            },
            success:function(result){
                alert( result );
                }
        });
    });
});
<p id="AltTitle" contenteditable=True>Existing Title</p>
<button>Save</button>
4

3 に答える 3

1

{} が問題を引き起こしているようです。これは、jQuery が Jinja2 テンプレート内にあることが原因である可能性がありますが、{% raw %} を追加しても結果は変わりませんでした。スクリプトを次のように変更します。

data:"AlternativeTitle:" + alttitle + '&' "othervalue" + otherval,

サーバーでシリアル化されたバージョンを取得しました。これをデータベースに書き戻すのはまだですが、今はうまくいくと思います。フォスコとアントワーヌに感謝します。

于 2011-06-07T00:42:22.553 に答える
0

最初に値を取得しようとしましたか? これを試してみてください:

    var alttitle = $("#AltTitle").html();
    $.ajax({
        type:"POST",
        url:"/edit/29241",
        data:{ AlternativeTitle : alttitle },
        success:function(result){
            alert( result );
            }
    });
于 2011-06-06T15:26:42.623 に答える
0

私が最初に行うことは$("#AltTitle").html()、ブラウザーの Javascript コンソール (Chrome では Ctrl+I) に入力して、 の値を検索することです。次に、結果が期待どおりである場合は、ブラウザーの開発者ツールに投稿された値をチェックして、投稿された AlternativeTitle の値が期待どおりであることを確認します。Chrome では、開発者ツールの [ネットワーク] タブに HTTP リクエストが表示されます。次に、コード サーバー側を調べます。

request.params['AlternativeTitle']しかし、そこにはあるが空だと言うので、サーバー側でうまくいかないことはあまりありません。

于 2011-06-07T00:11:35.587 に答える