2016-12-20 4 views
0

私はひどく迷っています。 WordPressのFormidableフォームでユーザーが入力した情報をキャッチするには、Webhookを実行する必要があります。このデータを送信するには

私は、stackoverflowの助けを借りて、入力情報(入力の名前とラベル)を取得するJQUERYスクリプトを作成します。このスクリプトは、フォームを送信する前に配列を作成します。

$(document).ready(function(){ 
    var itemMetaArray = {}; 

    $('.frm_pro_form :input:not(:hidden, :submit)').each(function() { 
     var label = $(this).closest('.frm_form_field').find('label').text().trim(); 
     itemMetaArray[label] = $(this).attr('name'); 
    }); 

    console.log(itemMetaArray); 

    $.ajax({ 
     type: "POST", 
     url: "index.php", 
     data: { itemMetaArray: itemMetaArray}, 
     success: function(){ 
      console.log('Success'); 
     } 
    }); 
}); 

私の問題は次のとおりです。フォーム送信後に離れたPHPスクリプトでフォームデータを処理する方法は?

JQUERYによって作成された配列は、どの入力が何と関連しているかを知るために、データの処理に役立ちますか? (入力の名前が嫌で、私はそれらを変更することはできません)WordpressのでAJAXを事前

+0

バイそれにアクセスすることができます。 – Phiter

+0

どうすれば送信できますか? – Nathan30

+0

'itemMetaArray'はオブジェクトなので、そのまま渡します。 jQueryはPOST変換を行います – Machavity

答えて

0

おかげで、あなたはhttps://codex.wordpress.org/AJAX_in_Pluginsでコーデックスに従ってください。 1)AJAX要求 2)あなたのAJAXリクエストで「データ」フィールドに「アクション」という名前の変数を追加を処理するために、PHPでコールバック関数を定義します。

簡単に言えば、あなたは3つのことを行う必要があります。 3)プラグインまたはfunctions.phpファイルに以下のように2つのアクションを追加します。最初のパラメータは、wp_ajax_ [アクションの名前]およびwp_ajax_nopriv_ [アクションの名前]である必要があります。 2番目のパラメータは、手順1のコールバック関数の名前にする必要があります。

add_action('wp_ajax_my_action', 'my_action_callback'); 
add_action('wp_ajax_nopriv_my_action', 'my_action_callback'); 

コールバック関数については、その他のガイドラインがあります。これらのコーデックスを参照してください。

0

あなたは単に私がしたいのか分からないが、あなたはそれをデコードし、PHPスクリプトにJSONにこの配列を変換して送信することができます

$labelname1=$_POST['itemMetaArray']['label1']; 
$labelname2=$_POST['itemMetaArray']['label2']; 
+0

私にそれがあなたのために働くかどうか教えてください –

+0

問題が見つかりました、POSTデータはindex.phpページで更新されていません。しかし、デベロッパーツールでは、ネットワークタブの下で私はPOSTデータを見ることができます応答:) – Nathan30

関連する問題