使用 AJAX 传递对象(从 piotnet 表单输入值)以填充到 WordPress 的其他页面

问题描述 投票:0回答:1

我的 JS 代码从 piotnet 表单获取值并进行必要的计算,在将计算和值从输入填充到对象后,然后启动 Ajax piotnet 是前端形式,它不会填充 mysql 中的值。

 $('BUTTON').on("click", function(){
                  /// for test reason i get only 2 values from form
                  var newsRev = {  
                    ndatego: sReservation.dateGo, 
                    ndateback: sReservation.dateBack
                }                      
                        var json= JSON.parse(JSON.stringify(newsRev));                  
                console.log(json);
                        jQuery.ajax({
                              type:'POST',
                              url:'https://mywebsite.com/test/', /// my elementor page with Code snippets shortcode
                              data: {json:json},                           
                              success: function(data) {console.log(data);}, /// getting as result
                              error: function(errorThrown){
                                 console.log(errorThrown);                
                              }
                        })
                }) 

在我的短代码中,在页面/test/中我有代码

if($_SERVER['REQUEST_METHOD']=='POST'){
    function (){
    if(isset($_POST)){
        $sre = $_POST['json'];
            echo $sre;
            print_r ($_POST); // showing nothing
    }
    die();
}
}

但它不起作用.. 谢谢......

我是 php 新手...... 目标是仅在管理员的其他 WordPress 页面中填充计算和输入值,并将它们填充到 phpmyadmin 数据库中。

ajax wordpress postdata
1个回答
0
投票

所以我已经解决了,也许对某人有用。

$(document).on('click', '#pafe-form-builder-trigger-success-myFormId', function (ev) {

               ev.preventDefault();
               sReservation = JSON.parse(JSON.stringify(sReservation));
               jQuery.ajax({
                   url: '/wp-admin/admin-ajax.php',
                   cache: false,
                   type: 'POST',
                   data: {
                       'action': 'reservation_system',
                       'reservation_ajax': sReservation
                   }, success: function ($reponse) {
                       console.log("success");
                       doRedirect();
                   },
                   error: function (xhr, status, error) {
                   }
               });
           });

在我的子主题中的 function.php 中:

add_action('wp_ajax_nopriv_reservation_system', 'our_reservation', 10, 1);
add_action('wp_ajax_reservation_system', 'our_reservation', 10, 1);
function our_reservation(){
 if(isset($_POST['reservation_ajax'])){

        $reservation = $_POST['reservation_ajax'];
        $newVar = $reservation['someMyItem'];
}
}
© www.soinside.com 2019 - 2024. All rights reserved.