首页 > 解决方案 > Ajax 保存到 wordpress 上的服务器

问题描述

我正在尝试将 PDF 保存到 Wordpress 上的服务器,当我在表单上按提交并查看控制台时,我收到以下消息:

[弃用] 主线程上的同步 XMLHttpRequest 已弃用,因为它对最终用户的体验产生不利影响。如需更多帮助,请查看https://xhr.spec.whatwg.org/

jquery-2.2.4.min.js:4 POST https://eazyfreight.co.uk/wp-admin/admin-ajax.php 400

我的代码:

PHP:

add_action( 'wp_ajax_so56917978_upload', 'so56917978_upload' );
add_action( 'wp_ajax_nopriv_so56917978_upload', 'so56917978_upload' );
function so56917978_upload() {
    if ( ! empty( $_POST['data'] ) ) {
        $data = base64_decode($_POST['data']);
        file_put_contents( get_stylesheet_directory_uri() . '/POD/pod.pdf' , $data );
        echo "success";
    } else {
        echo "No Data Sent";
    }

    die();
}

JS

function sendToServer() { 
            html2canvas(document.getElementById("product_sheet"), {
                onrendered: function(canvas){
                    console.log("#pdfsubmit clicked");

                    var img = canvas.toDataURL("image/png");
                    var doc = new jsPDF('p', 'pt', 'a4' );
                    doc.addImage(img, 'JPEG', 20, 20);

                    var pdf = doc.output('blob');
                    $.ajax({
                        url: jspod.ajax_url,
                        type: 'post',
                        async: false,
                        contentType: false,
                        processData: false,
                        data:{
                            data: pdf,
                            action:'so56917978_upload',
                        },
                        dataType: 'json',
                    });
                }
            });
        }

任何帮助排序错误然后将文档发送到服务器将不胜感激

标签: phpjqueryajaxwordpress

解决方案


我不确定,但您的代码似乎很好,我会以同样的方式完成。

尝试更新您的 jQuery 版本,因为您使用的是非常旧的版本..


推荐阅读