Wordpress中的jQuery Ajax请求

时间:2018-08-27 11:40:26

标签: jquery ajax wordpress

jQuery('.tm-floating-box').on('click', '.createpdfdata', function () {
        var tottal_data = jQuery('.tm-pdf-data .total_tm_data').val();
        var countdata;
        var i;
        var total_box_data = {};
        total_box_data.product = [];
        total_box_data.action_data = [];
        total_box_data.product_data = [];
        //total_box_data.product.push({ '1': { 'data': 'data1' } });
        if (tottal_data > 0) {
            for (countdata = 0; countdata < tottal_data; countdata++) {
                if (jQuery("#total_fb_" + countdata + "_title").val() && jQuery("#total_fb_" + countdata + "_price").val() && jQuery("#total_fb_" + countdata + "_value").val()) {
                    var title = jQuery("#total_fb_" + countdata + "_title").val();
                    var price = jQuery("#total_fb_" + countdata + "_price").val();
                    var valedata = jQuery("#total_fb_" + countdata + "_value").val();

                    var totlacountindex = countdata;
                    total_box_data.product.push({ totlacountindex: { 'title': title , 'price': price ,'valuedata': valedata } });


                }


            }
            var product_title = jQuery(".product_title").text();
            var product_price = jQuery(".woocommerce-Price-amount").text();
            var product_description = jQuery(".product_data_short_description").val();
            total_box_data.product_data.push({ 'product_details': { 'product_title': product_title, 'product_price': product_price, 'product_description': product_description } });
            total_box_data.action_data.push({ 'product_action': 'product_pdf_data' });
            jQuery.ajax({
                url: site_params.ajaxurl,
                type: "POST",
                data: JSON.stringify(total_box_data),
                dataType: 'json',
                async: false,
                cache: false,
                contentType: false,
                processData: false,
                success: function(response) {



                     if(response.status == 'failure')
                     {

                        jQuery('.digicore_form_registration-result').html('<div class="alert alert-danger">' + response.error_message + '</div>');

                     }
                     else
                     {
                        jQuery('.digicore_form_registration-result').html('<div class="alert alert-success alert-dismissible">' + response.success_msg + '</div>'); 


                     }

                }
            });

1 个答案:

答案 0 :(得分:0)

正如我所见,您没有提出解决方案的问题,但这是我关于wp中ajax请求的解决方案。 只需将动作传递给ajax调用的数据即可。 像::min() 并将action='createpdfrequest'.传递到ajax的网址中。

在您的function.php文件中: 使用类似add_action的钩子,

<?php echo admin_url( 'admin-ajax.php' )?>

在上面的示例中,将您的操作(传递给ajax调用)与wp_ajax_nopriv_和wp_ajax_挂钩一起使用。 'createpdfrequest'这是编写代码的回调函数。

希望这对您有所帮助,这就是您想要的。谢谢。