web-dev-qa-db-ja.com

RSformに送信してください! jQuery ajaxを使用してどこからでもプロ

Joomla RSformの管理アプリを作成中です!プロ。アプリは記事としてホストされるため、Joomla自体と同じドメインにあります。
提出物を1つのRSformから別のRSformに移動またはコピーする必要があります。 2つのフォームのフィールドは必ずしも同じではありませんが、ほとんどのフィールドは同じですが、新しいフォームの魔女フィールドを簡単に見つけることができます。

これまで私が行ったことは、すべてのフィールドを取得し、次のようなJavaScriptオブジェクトを作成することです。

formElements = {
    form:{
        username:'username',
        something:'something
    },
    hidden:{ somethinghidden:'somethinghidden'}
}

私の質問は今です:これをrsformに送信するにはどうすればよいですか。

JQuery.ajaxを使用していますが、機能しません。

jQuery.ajax({
    method: "POST",
    url: '/index.php?option=com_rsform&formId=' + fromID,
    data: formElements,
    timeout: 10000,
    dataType: 'html'
}).fail(function (msg) {
}).done(function (msg) {
});

このURLは、送信フォームのタグにあるものと同じです。したがって、これも正しいと思います。

また、RSformsが提供する通常のフォームを使用して送信する偽のnodejsサーバーを作成しました。そこから取得したpostオブジェクトは、作成したオブジェクトと同じです。

何が悪いのですか?ヘッダーなどを設定する必要がありますか?または何が欠けている...?

誰かが助けてくれることを願っています、そして私の質問は理にかなっています...

/ありがとう..

2
pjensen68321

Joomlaでは、フォームにはCSRFを防ぐためのセッショントークンがあります。

クロスサイトリクエストフォージェリ(CSRF)は、悪意のあるWebサイト、電子メール、ブログ、インスタントメッセージ、またはプログラムにより、ユーザーが現在信頼しているサイトでユーザーのWebブラウザーが不要なアクションを実行したときに発生する攻撃の一種です。認証済み。

Ajaxから情報を送信する場合は、ルールに従って、トークンをPOST、GET、またはURLの形式で含める必要があります。それ以外の場合は拒否されます。

参照: フォームにCSRFなりすましを追加する方法

1
Anibal